heat_template_version: 2013-05-23 description: heat template that creates PCRF Cluman stack parameters: pcm_server_names: type: comma_delimited_list label: PCRF CM server names description: name of the PCRF CM instance pcm_image_name: type: string label: PCRF CM image name description: PCRF CM image name pcm_flavor_name: type: string label: PCRF CM flavor name description: flavor name of PCRF CM instance oam_server_names: type: comma_delimited_list label: PCRF CM server names description: name of the PCRF CM instance oam_image_name: type: string label: PCRF CM image name description: PCRF CM image name oam_flavor_name: type: string label: PCRF CM flavor name description: flavor name of PCRF CM instance availabilityzone_name: type: string label: availabilityzone name description: availabilityzone name cps_net_name: type: string label: CPS network name description: CPS network name cps_net_ips: type: comma_delimited_list label: CPS network ips description: CPS network ips cps_net_mask: type: string label: CPS network mask description: CPS network mask oam_net_name: type: string label: OAM network name description: OAM network name oam_net_ips: type: comma_delimited_list label: OAM network ips description: OAM network ips oam_net_gw: type: string label: CPS network gateway description: CPS network gateway oam_net_mask: type: string label: CPS network mask description: CPS network mask pcm_volumes: type: comma_delimited_list label: CPS Cluman Cinder Volume description: CPS Cluman Cinder Volume security_group_name: type: string label: security group name description: the name of security group compute_image_name: type: string net_name: type: string resources: server_compute: type: OS::Nova::Server properties: config_drive: {get_attr: [compute_port_0]} name: { compute_name } image: { get_param: compute_image_name } flavor: { compute_flavor_name } server_pcm_001: type: nested-pcm_v0.1.yaml properties: pcm_server_name: { get_param: [pcm_server_names, 0] } pcm_image_name: { get_param: pcm_image_name } pcm_flavor_name: { get_param: pcm_flavor_name } availabilityzone_name: { get_param: availabilityzone_name } security_group_name: { get_param: security_group_name } pcm_vol: { get_param: [pcm_volumes, 0] } cps_net_name: { get_param: cps_net_name } cps_net_ip: { get_param: [cps_net_ips, 0] } cps_net_mask: { get_param: cps_net_mask } oam_net_name: { get_param: oam_net_name } oam_net_ip: { get_param: [oam_net_ips, 0] } oam_net_mask: { get_param: oam_net_mask } oam_net_gw: { get_param: oam_net_gw } server_pcm_002: type: nested-pcm_v0.1.yaml properties: pcm_server_name: { get_param: [pcm_server_names, 0] } pcm_image_name: { get_param: pcm_image_name } pcm_flavor_name: { get_param: pcm_flavor_name } availabilityzone_name: { get_param: availabilityzone_name } server_oam_001: type: nested-oam_v0.1.yaml properties: oam_server_name: { get_param: [oam_server_names, 0] } oam_image_name: { get_param: oam_image_name } oam_flavor_name: { get_param: oam_flavor_name } availabilityzone_name: { get_param: availabilityzone_name } security_group_name: { get_param: security_group_name } pcm_vol: { get_param: [pcm_volumes, 0] } cps_net_name: { get_param: cps_net_name } cps_net_ip: { get_param: [cps_net_ips, 0] } cps_net_mask: { get_param: cps_net_mask } oam_net_name: { get_param: oam_net_name } oam_net_ip: { get_param: [oam_net_ips, 0] } oam_net_mask: { get_param: oam_net_mask } oam_net_gw: { get_param: oam_net_gw } compute_port_0: type: OS::Neutron::Port properties: network: { get_param: net_name } packet_mirror_network: type: OS::Neutron::Net properties: #get attribute from a nested resource name: { get_attr: [server_pcm_001 , instance_name] } #get attribute from a regular consolidation entity resource tenant_id: { get_attr: [server_compute, instance_name]} outputs: output_attr_nested_resource1: value: {get_attr: [server_pcm_001 , server_pcm_id] } output_attr_nested_resource2: value: {get_attr: [server_pcm_002 , server_pcm_id] } output_attr_nested_resource_same_type: value: {get_attr: [server_pcm_001 , server_pcm_id] } output_attr_nested_resource_different_type: value: {get_attr: [server_oam_001 , server_oam_id] } output_attr_non_nested_compute: value: {get_attr: [server_compute , instance_name] } output_attr_non_consolidation_entity: value: {get_attr: [packet_mirror_network , status] }