tosca_definitions_version: tosca_simple_yaml_1_0_0 metadata: template_name: mvs.nested.heat imports: ContrailComputeGlobalTypes: file: ContrailComputeGlobalTypesServiceTemplate.yaml CinderVolumeGlobalTypes: file: CinderVolumeGlobalTypesServiceTemplate.yaml ContrailVirtualNetworkGlobalType: file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml AbstractSubstituteGlobalTypes: file: AbstractSubstituteGlobalTypesServiceTemplate.yaml ContrailPortGlobalTypes: file: ContrailPortGlobalTypesServiceTemplate.yaml GlobalSubstitutionTypes: file: GlobalSubstitutionTypesServiceTemplate.yaml NeutronPortGlobalTypes: file: NeutronPortGlobalTypesServiceTemplate.yaml NeutronNetGlobalTypes: file: NeutronNetGlobalTypesServiceTemplate.yaml CommonGlobalTypes: file: CommonGlobalTypesServiceTemplate.yaml ContrailAbstractSubstituteGlobalTypes: file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml ContrailNetworkRuleGlobalType: file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml NeutronSecurityRulesGlobalTypes: file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml NovaServerGlobalTypes: file: NovaServerGlobalTypesServiceTemplate.yaml ContrailV2VirtualMachineInterfaceGlobalType: file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml node_types: org.openecomp.resource.vfc.nodes.heat.vnfci: derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server topology_template: inputs: vf_module_id: hidden: false immutable: false type: string description: Unique ID for this VF_MODULE instance vf_name: hidden: false immutable: false type: string description: The VF Name; defaults to VMVM for the virtual MVM VNF. constraints: - pattern: '[a-zA-Z0-9]+' - max_length: 4 - min_length: 4 cloud_zone_id: hidden: false immutable: false type: string description: The cloud zone for this VF instance vf_instance_num: hidden: false immutable: false type: string description: The number for this VF instance constraints: - pattern: '[0-9]+' - max_length: 2 - min_length: 2 virtual_mgmt_ip_0: hidden: false immutable: false type: string description: Virtual management network ip address indx: hidden: false immutable: false type: float description: Index of the current instance mvs_mgmt_ip_0: hidden: false immutable: false type: list description: List of Management network IP addresses for IPv4 entry_schema: type: string flavor: hidden: false immutable: false type: string description: Server flavor constraints: [ ] key_name: hidden: false immutable: false type: string description: SSH key name constraints: [ ] vnf_id: hidden: false immutable: false type: string description: Unique ID for this VF instance availability_zone_0: hidden: false immutable: false type: list description: List of Availability Zone IDs or Names entry_schema: type: string mgmt_net_id: hidden: false immutable: false type: string description: Neutron UUID for the Management network constraints: [ ] vm_instance_num: hidden: false immutable: false type: list description: VM instance number list must be a list of three-digit numeric value entry_schema: type: string bootimage: hidden: false immutable: false type: string description: Master bootimage volume id sec_groups: hidden: false immutable: false type: list description: Security groups entry_schema: type: string vf_component: hidden: false immutable: false type: string description: The component that this VF instance is running constraints: - pattern: '[a-zA-Z0-9]+' - max_length: 3 - min_length: 3 node_templates: boot_volume: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: availability_zone: Fn::Select: - get_input: indx - get_input: - availability_zone_0 image: get_input: bootimage size: 35*1024 name: str_replace: template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-boot-volume params: $VF_NAME: get_input: vf_name $CLOUD_ZONE_ID: get_input: cloud_zone_id $VM_INSTANCE_NUM: Fn::Select: - get_input: indx - get_input: - vm_instance_num $VF_COMPONENT: get_input: vf_component $VF_INSTANCE_NUM: get_input: vf_instance_num vnfci: type: org.openecomp.resource.vfc.nodes.heat.vnfci properties: flavor: get_input: flavor key_name: get_input: key_name availability_zone: Fn::Select: - get_input: indx - get_input: - availability_zone_0 name: str_replace: template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM params: $VF_NAME: get_input: vf_name $CLOUD_ZONE_ID: get_input: cloud_zone_id $VM_INSTANCE_NUM: Fn::Select: - get_input: indx - get_input: - vm_instance_num $VF_COMPONENT: get_input: vf_component $VF_INSTANCE_NUM: get_input: vf_instance_num requirements: - local_storage: capability: tosca.capabilities.Attachment node: boot_volume relationship: tosca.relationships.AttachesTo - local_storage: capability: tosca.capabilities.Attachment node: data_volume relationship: tosca.relationships.AttachesTo data_volume: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: availability_zone: Fn::Select: - get_input: indx - get_input: - availability_zone_0 size: 265*1024 name: str_replace: template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-data-volume params: $VF_NAME: get_input: vf_name $CLOUD_ZONE_ID: get_input: cloud_zone_id $VM_INSTANCE_NUM: Fn::Select: - get_input: indx - get_input: - vm_instance_num $VF_COMPONENT: get_input: vf_component $VF_INSTANCE_NUM: get_input: vf_instance_num mgmt_port: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: security_groups: - get_input: sec_groups fixed_ips: - ip_address: Fn::Select: - get_input: indx - get_input: - get_input: mvs_mgmt_ip_0 allowed_address_pairs: - ip_address: get_input: virtual_mgmt_ip_0 name: str_replace: template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port params: $VF_NAME: get_input: vf_name $CLOUD_ZONE_ID: get_input: cloud_zone_id $VM_INSTANCE_NUM: Fn::Select: - get_input: indx - get_input: - vm_instance_num $VF_COMPONENT: get_input: vf_component $VF_INSTANCE_NUM: get_input: vf_instance_num network: get_input: mgmt_net_id requirements: - binding: capability: tosca.capabilities.network.Bindable node: vnfci relationship: tosca.relationships.network.BindsTo groups: mvs.nested.heat: type: org.openecomp.groups.heat.HeatStack properties: heat_file: ../Artifacts/mvs.nested.heat.yaml description: | Metaswitch MVS (Metaview Server) members: - boot_volume - vnfci - data_volume - mgmt_port substitution_mappings: node_type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat capabilities: os_vnfci: - vnfci - os attachment_mgmt_port: - mgmt_port - attachment endpoint_vnfci: - vnfci - endpoint host_vnfci: - vnfci - host binding_vnfci: - vnfci - binding attachment_boot_volume: - boot_volume - attachment scalable_vnfci: - vnfci - scalable attachment_data_volume: - data_volume - attachment requirements: local_storage_vnfci: - vnfci - local_storage link_mgmt_port: - mgmt_port - link