| |
| /* |
| * |
| * Copyright 2016 RIFT.IO Inc |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * |
| */ |
| |
| module rwcal |
| { |
| namespace "http://riftio.com/ns/riftware-1.0/rwcal"; |
| prefix "rwcal"; |
| |
| import rw-base { |
| prefix rwbase; |
| } |
| |
| import rw-pb-ext { |
| prefix "rwpb"; |
| } |
| |
| import rw-yang-types { |
| prefix "rwt"; |
| } |
| |
| import rw-log { |
| prefix "rwlog"; |
| } |
| |
| import mano-types { |
| prefix "manotypes"; |
| } |
| |
| revision 2014-12-30 { |
| description |
| "Initial revision."; |
| reference |
| "RIFT RWCAL cloud data"; |
| } |
| |
| |
| typedef connection-status { |
| description "Connection status for the cloud account"; |
| type enumeration { |
| enum unknown; |
| enum validating; |
| enum success; |
| enum failure; |
| } |
| } |
| |
| typedef disk-format { |
| type enumeration { |
| enum ami; |
| enum ari; |
| enum aki; |
| enum vhd; |
| enum vmdk; |
| enum raw; |
| enum qcow2; |
| enum vdi; |
| enum iso; |
| } |
| } |
| |
| typedef container-format { |
| type enumeration{ |
| enum ami; |
| enum ari; |
| enum aki; |
| enum bare; |
| enum ovf; |
| } |
| } |
| |
| grouping connection-status { |
| container connection-status { |
| config false; |
| rwpb:msg-new CloudConnectionStatus; |
| leaf status { |
| type connection-status; |
| } |
| leaf details { |
| type string; |
| } |
| } |
| } |
| |
| uses connection-status; |
| |
| typedef sdn-account-type { |
| description "SDN account type"; |
| type enumeration { |
| enum odl; |
| enum mock; |
| enum sdnsim; |
| } |
| } |
| |
| grouping sdn-provider-auth { |
| leaf account-type { |
| type sdn-account-type; |
| } |
| |
| choice provider-specific-info { |
| container odl { |
| leaf username { |
| type string { |
| length "1..255"; |
| } |
| } |
| |
| leaf password { |
| type string { |
| length "1..32"; |
| } |
| } |
| |
| leaf url { |
| type string { |
| length "1..255"; |
| } |
| } |
| } |
| container mock { |
| leaf username { |
| type string; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwsdn_mock"; |
| } |
| } |
| |
| container sdnsim { |
| leaf username { |
| type string; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwsdn_sim"; |
| } |
| } |
| } |
| } |
| |
| grouping provider-auth { |
| leaf account-type { |
| type manotypes:cloud-account-type; |
| } |
| |
| choice provider-specific-info { |
| container mock { |
| leaf username { |
| type string; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwcal_mock"; |
| } |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| } |
| container aws { |
| leaf key { |
| type string; |
| } |
| |
| leaf secret { |
| type string; |
| } |
| |
| leaf region { |
| type string; |
| } |
| leaf vpcid { |
| description "VPC ID to use to instantiate EC2 instances"; |
| type string; |
| } |
| leaf ssh-key { |
| description "Key pair name to connect to EC2 instance"; |
| type string; |
| } |
| leaf availability-zone { |
| description "Availability zone where EC2 instance should |
| be started"; |
| type string; |
| } |
| leaf default-subnet-id { |
| description "Default subnet ID to create network |
| interface at instance creation time"; |
| type string; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwcal_aws"; |
| } |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| } |
| |
| container openstack { |
| leaf key { |
| type string; |
| mandatory true; |
| } |
| |
| leaf secret { |
| type string; |
| mandatory true; |
| } |
| |
| leaf auth_url { |
| type string; |
| mandatory true; |
| } |
| |
| leaf tenant { |
| type string; |
| mandatory true; |
| } |
| |
| leaf admin { |
| type boolean; |
| default false; |
| } |
| |
| leaf mgmt-network { |
| type string; |
| mandatory true; |
| } |
| |
| leaf plugin-name { |
| type string; |
| default "rwcal_openstack"; |
| } |
| |
| leaf-list security-groups { |
| type string; |
| description "Names of the security groups for the VM"; |
| } |
| |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| |
| leaf floating-ip-pool { |
| type string; |
| description "Name of floating IP pool to use for floating IP address assignement"; |
| } |
| |
| leaf cert-validate { |
| type boolean; |
| default false; |
| description "Certificate validatation policy in case of SSL/TLS connection"; |
| } |
| |
| } |
| |
| container openmano { |
| leaf host { |
| type string; |
| default "localhost"; |
| } |
| |
| leaf port { |
| type uint16; |
| default 9090; |
| } |
| |
| leaf tenant-id { |
| type string { |
| length "36"; |
| } |
| mandatory true; |
| } |
| |
| leaf plugin-name { |
| type string; |
| default "rwcal_openmano"; |
| } |
| } |
| |
| container vsphere { |
| leaf username { |
| type string; |
| } |
| |
| leaf password { |
| type string; |
| } |
| |
| leaf url { |
| type string; |
| } |
| |
| leaf plugin-name { |
| type string; |
| default "rwcal-python"; |
| } |
| |
| leaf dynamic-flavor-support { |
| type boolean; |
| default false; |
| } |
| } |
| |
| container cloudsim { |
| leaf plugin-name { |
| type string; |
| default "rwcal_cloudsim"; |
| } |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| } |
| |
| container cloudsim_proxy { |
| leaf host { |
| type string; |
| default "localhost"; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwcal_cloudsimproxy"; |
| } |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| } |
| |
| container openvim { |
| leaf host { |
| type string; |
| mandatory true; |
| } |
| leaf port { |
| type uint16; |
| default 9080; |
| } |
| leaf tenant-name { |
| type string; |
| description "Mandatory parameter to indicate openvim tenant name"; |
| mandatory true; |
| } |
| leaf mgmt-network { |
| type string; |
| mandatory true; |
| } |
| leaf plugin-name { |
| type string; |
| default "rwcal_openmano_vimconnector"; |
| } |
| leaf dynamic-flavor-support { |
| type boolean; |
| default true; |
| } |
| container image-management { |
| description " Information required for OpenVim image upload operation"; |
| |
| leaf username { |
| description "Username for host access"; |
| type string; |
| } |
| leaf password { |
| description "Password for host access"; |
| type string; |
| } |
| leaf image-directory-path { |
| description "Name of the directory on the host where image needs to be copied"; |
| type string; |
| default "/opt/VNF/images"; |
| } |
| } |
| } |
| } |
| } |
| |
| grouping vm-info-item { |
| leaf vm-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf vm-size { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf vm-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf flavor-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf image-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf state { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf availability-zone { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf tenant-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf host-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf management-ip { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf public-ip { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf allocate-public-address { |
| rwpb:field-inline "true"; |
| description "If this VM should allocate a floating public IP address"; |
| type boolean; |
| default false; |
| } |
| |
| list private-ip-list { |
| key "ip-address"; |
| |
| leaf ip-address { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list public-ip-list { |
| key "ip-address"; |
| |
| leaf ip-address { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list port-list { |
| key "port-id"; |
| leaf port-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list network-list { |
| key "network-id"; |
| leaf network-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| container cloud-init { |
| leaf userdata { |
| description |
| "The userdata field for cloud-init should contain |
| the contents of the script that cloud-init should |
| invoke when configuring the system. Note that this |
| script is expected to be in the cloud-config format"; |
| type string; |
| } |
| } |
| |
| container user_tags { |
| |
| leaf node-id { |
| type string; |
| } |
| |
| leaf pci_assignement { |
| type string; |
| } |
| |
| leaf tag1 { |
| type string; |
| } |
| } |
| |
| leaf server-group { |
| type string; |
| } |
| } |
| |
| grouping image-info-item { |
| leaf id { |
| type string; |
| } |
| |
| leaf name { |
| type string; |
| } |
| |
| choice image_file { |
| leaf location { |
| description "Image URL location"; |
| type string; |
| } |
| |
| leaf fileno { |
| description "Image file descriptor"; |
| type uint32; |
| } |
| } |
| |
| leaf checksum { |
| type string; |
| } |
| |
| leaf virtual_size_mbytes { |
| description "Virtual size of the image"; |
| type uint64; |
| } |
| |
| leaf disk_format { |
| description "Format of the Disk"; |
| type disk-format; |
| default "qcow2"; |
| } |
| |
| leaf container_format { |
| description "Format of the container"; |
| type container-format; |
| default "bare"; |
| } |
| |
| leaf state { |
| description "State of the Image object in CAL"; |
| type enumeration { |
| enum active; |
| enum inactive; |
| enum failed; |
| enum unknown; |
| } |
| default "unknown"; |
| } |
| |
| container user-tags { |
| description "User tags associated with Image"; |
| leaf checksum { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| } |
| |
| grouping network-info-item { |
| leaf network-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf network-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf subnet { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| uses manotypes:provider-network; |
| } |
| |
| grouping port-info-item { |
| leaf port-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf port-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf port-state { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf network-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf ip-address { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf vm-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf port-type { |
| description "Type of the port"; |
| type enumeration { |
| enum normal; |
| enum macvtap; |
| enum direct; |
| } |
| default "normal"; |
| } |
| |
| choice provider-specific-info { |
| container lxc { |
| leaf veth-name { |
| type string; |
| } |
| } |
| } |
| } |
| |
| container cloud-accounts { |
| list cloud-account-list { |
| rwpb:msg-new CloudAccount; |
| key "name"; |
| |
| leaf name { |
| type string; |
| } |
| uses provider-auth; |
| } |
| } |
| |
| container vim-resources { |
| rwpb:msg-new VimResources; |
| config false; |
| |
| list vminfo-list { |
| rwpb:msg-new VMInfoItem; |
| config false; |
| key "vm-id"; |
| |
| uses vm-info-item; |
| } |
| |
| list imageinfo-list { |
| rwpb:msg-new ImageInfoItem; |
| config false; |
| key "id"; |
| |
| uses image-info-item; |
| } |
| |
| list tenantinfo-list { |
| rwpb:msg-new TenantInfoItem; |
| config false; |
| key "tenant-id"; |
| |
| leaf tenant-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf tenant-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list userinfo-list { |
| rwpb:msg-new UserInfoItem; |
| config false; |
| key "user-id"; |
| |
| leaf user-name{ |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf user-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list roleinfo-list { |
| rwpb:msg-new RoleInfoItem; |
| config false; |
| key "role-id"; |
| |
| leaf role-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf role-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list hostinfo-list { |
| rwpb:msg-new HostInfoItem; |
| config false; |
| key "host-id"; |
| |
| leaf host-name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf host-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| list networkinfo-list { |
| rwpb:msg-new NetworkInfoItem; |
| config false; |
| key "network-id"; |
| |
| uses network-info-item; |
| } |
| |
| list portinfo-list { |
| rwpb:msg-new PortInfoItem; |
| config false; |
| key "port-id"; |
| |
| uses port-info-item; |
| } |
| |
| list flavorinfo-list { |
| rwpb:msg-new FlavorInfoItem; |
| config false; |
| key "id"; |
| |
| leaf id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf name { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| uses manotypes:vm-flavor; |
| uses manotypes:guest-epa; |
| uses manotypes:vswitch-epa; |
| uses manotypes:hypervisor-epa; |
| uses manotypes:host-epa; |
| uses manotypes:placement-group-input; |
| } |
| } |
| |
| grouping virtual-link-create-params { |
| leaf name { |
| description "Name of the Virtual-Link"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf subnet { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| leaf associate-public-ip { |
| type boolean; |
| default false; |
| } |
| leaf vim-network-name { |
| description |
| "Name of network in VIM account. This is used to indicate |
| pre-provisioned network name in cloud account."; |
| type string; |
| } |
| |
| uses manotypes:provider-network; |
| uses manotypes:ip-profile-info; |
| } |
| |
| |
| container virtual-link-req-params { |
| description "This object defines the parameters required to create a virtual-link"; |
| rwpb:msg-new VirtualLinkReqParams; |
| uses virtual-link-create-params; |
| } |
| |
| |
| grouping connection-point-type { |
| leaf type { |
| description |
| "Specifies the type of connection point |
| VIRTIO : Use the traditional VIRTIO interface. |
| PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface. |
| SR-IOV : Use SR-IOV interface. |
| E1000 : Emulate E1000 interface. |
| RTL8139 : Emulate RTL8139 interface. |
| PCNET : Emulate PCNET interface."; |
| type enumeration { |
| enum VIRTIO; |
| enum PCI-PASSTHROUGH; |
| enum SR-IOV; |
| enum E1000; |
| enum RTL8139; |
| enum PCNET; |
| } |
| default "VIRTIO"; |
| } |
| } |
| |
| |
| grouping vdu-create-params { |
| leaf name { |
| description "Name of the VDU"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf mgmt-vpci { |
| description |
| "Specifies the virtual PCI address. Expressed in |
| the following format dddd:dd:dd.d. For example |
| 0000:00:12.0. This information can be used to |
| pass as metadata during the VM creation."; |
| type string; |
| } |
| |
| uses manotypes:vm-flavor; |
| uses manotypes:guest-epa; |
| uses manotypes:vswitch-epa; |
| uses manotypes:hypervisor-epa; |
| uses manotypes:host-epa; |
| |
| leaf node-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf flavor-id { |
| description "CAL assigned flavor-id for the VDU image"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf image-id { |
| description "CAL assigned image-id for the VDU image"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf image-name { |
| description "Image name which can be used to lookup the image-id"; |
| type string; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 256; |
| } |
| |
| leaf image-checksum { |
| description "Image md5sum checksum used in combination with image name to lookup image-id "; |
| type string; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 32; |
| } |
| |
| uses manotypes:placement-group-input; |
| |
| list connection-points { |
| key "name"; |
| leaf name { |
| description "Name of the connection point"; |
| type string; |
| } |
| leaf virtual-link-id { |
| description "CAL assigned resource Id for the Virtual Link"; |
| type string; |
| } |
| leaf associate-public-ip { |
| type boolean; |
| default false; |
| } |
| |
| leaf vpci { |
| description |
| "Specifies the virtual PCI address. Expressed in |
| the following format dddd:dd:dd.d. For example |
| 0000:00:12.0. This information can be used to |
| pass as metadata during the VM creation."; |
| type string; |
| } |
| |
| leaf security-group { |
| description "Name of the security group"; |
| type string; |
| } |
| |
| uses connection-point-type; |
| } |
| |
| leaf mgmt-network { |
| description |
| "Explicit mgmt-network name, otherwise the mgmt-network from |
| Cloud account is used"; |
| type string; |
| } |
| |
| leaf allocate-public-address { |
| description "If this VDU needs public IP address"; |
| type boolean; |
| default false; |
| } |
| |
| container vdu-init { |
| leaf userdata { |
| description |
| "The userdata field for vdu-init should contain |
| the contents of the script that cloud-init should |
| invoke when configuring the system. Note that this |
| script is expected to be in the cloud-config format"; |
| type string; |
| } |
| } |
| } |
| |
| container vdu-init-params { |
| description "This object defines the parameters required to create a VDU"; |
| rwpb:msg-new VDUInitParams; |
| uses vdu-create-params; |
| } |
| |
| container vdu-modify-params { |
| description "This object defines the parameters required to modify VDU"; |
| rwpb:msg-new VDUModifyParams; |
| |
| leaf vdu-id { |
| description "CAL assigned id for VDU to which this connection point belongs"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf image-id { |
| description "CAL assigned image-id for the VDU image"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| list connection-points-add { |
| key "name"; |
| leaf name { |
| description "Name of the connection point"; |
| type string; |
| } |
| leaf virtual-link-id { |
| description "CAL assigned resource Id for the Virtual Link"; |
| type string; |
| } |
| leaf associate-public-ip { |
| type boolean; |
| default false; |
| } |
| |
| uses connection-point-type; |
| } |
| |
| list connection-points-remove { |
| key "connection-point-id"; |
| leaf connection-point-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| } |
| |
| grouping connection-point-info-params { |
| leaf connection-point-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf name { |
| description "Name of the connection point"; |
| type string; |
| } |
| |
| leaf virtual-link-id { |
| description "CAL assigned resource ID of the Virtual-Link"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf vdu-id { |
| description "CAL assigned id for VDU to which this connection point belongs"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf state { |
| description "CMP agnostic generic state of the connection point"; |
| type enumeration { |
| enum active; |
| enum inactive; |
| enum failed; |
| enum unknown; |
| } |
| } |
| |
| leaf ip-address { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf public-ip { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| } |
| |
| grouping virtual-link-info-params { |
| leaf name { |
| description "Name of the Virtual-Link"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf state { |
| description "State of the Virtual Link"; |
| type enumeration { |
| enum active; |
| enum inactive; |
| enum failed; |
| enum unknown; |
| } |
| default "unknown"; |
| } |
| |
| leaf virtual-link-id { |
| description "CAL assigned resource ID of the Virtual-Link"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| list connection-points { |
| key connection-point-id; |
| uses connection-point-info-params; |
| } |
| |
| leaf subnet { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| uses manotypes:provider-network; |
| |
| } |
| |
| grouping vdu-info-params { |
| leaf vdu-id { |
| description "CAL assigned id for VDU"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| leaf name { |
| description "Name of the VDU"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 255; |
| type string; |
| } |
| |
| leaf flavor-id { |
| description "CAL assigned flavor-id for the VDU image"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf image-id { |
| description "CAL assigned image-id for the VDU image"; |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf node-id { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf state { |
| description "State of the VDU"; |
| type enumeration { |
| enum active; |
| enum inactive; |
| enum failed; |
| enum unknown; |
| } |
| default "unknown"; |
| } |
| |
| leaf management-ip { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| leaf public-ip { |
| rwpb:field-inline "true"; |
| rwpb:field-string-max 64; |
| type string; |
| } |
| |
| uses manotypes:vm-flavor; |
| uses manotypes:guest-epa; |
| uses manotypes:vswitch-epa; |
| uses manotypes:hypervisor-epa; |
| uses manotypes:host-epa; |
| uses manotypes:placement-group-input; |
| |
| list connection-points { |
| key connection-point-id; |
| uses connection-point-info-params; |
| } |
| leaf console-url { |
| type string; |
| description "Console URL from the VIM, if available"; |
| } |
| } |
| |
| container vnf-resources { |
| rwpb:msg-new VNFResources; |
| config false; |
| |
| list virtual-link-info-list { |
| rwpb:msg-new VirtualLinkInfoParams; |
| config false; |
| key virtual-link-id; |
| uses virtual-link-info-params; |
| } |
| |
| list vdu-info-list { |
| rwpb:msg-new VDUInfoParams; |
| config false; |
| key vdu-id; |
| uses vdu-info-params; |
| } |
| } |
| } |
| |
| /* vim: set ts=2:sw=2: */ |