heat_template_version: 2013-05-23

description: heat template that creates PCRF Cluman stack

parameters:
  pcrf_pcm_server_names:
    type: comma_delimited_list
    label: PCRF CM server names
    description: name of the PCRF CM instance
  pcrf_pcm_image_name:
    type: string
    label: PCRF CM image name
    description: PCRF CM image name
  pcrf_pcm_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
  pcrf_cps_net_name:
    type: string
    label: CPS network name
    description: CPS network name
  pcrf_cps_net_ips:
    type: comma_delimited_list
    label: CPS network ips
    description: CPS network ips
  pcrf_cps_net_mask:
    type: string
    label: CPS network mask
    description: CPS network mask
  pcrf_oam_net_name:
    type: string
    label: OAM network name
    description: OAM network name
  pcrf_oam_net_ips:
    type: comma_delimited_list
    label: OAM network ips
    description: OAM network ips
  pcrf_oam_net_gw:
    type: string
    label: CPS network gateway
    description: CPS network gateway
  pcrf_oam_net_mask:
    type: string
    label: CPS network mask
    description: CPS network mask
  pcrf_pcm_volume_id_1:
    type: string
    label: CPS Cluman Cinder Volume
    description: CPS Cluman Cinder Volume
  pcrf_security_group_name:
    type: string
    label: security group name
    description: the name of security group
  pcrf_vnf_id:
    type: string
    label: PCRF VNF Id
    description: PCRF VNF Id

resources:
  server_pcrf_pcm_001:
    type: nested-pcm_v0.2.yaml
    properties:
      pcrf_pcm_server_name: { get_param: [pcrf_pcm_server_names, 0] }
      pcrf_pcm_image_name: { get_param: pcrf_pcm_image_name }
      pcrf_pcm_flavor_name: { get_param: pcrf_pcm_flavor_name }
      availabilityzone_name: { get_param: availabilityzone_name }
      pcrf_security_group_name: { get_param: pcrf_security_group_name }
      pcrf_pcm_volume_id: { get_param: pcrf_pcm_volume_id_1 }
      pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
      pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] }
      pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
      pcrf_oam_net_name: { get_param: pcrf_oam_net_name }
      pcrf_oam_net_ip: { get_param: [pcrf_oam_net_ips, 0] }
      pcrf_oam_net_mask: { get_param: pcrf_oam_net_mask }
      pcrf_oam_net_gw: { get_param: pcrf_oam_net_gw }
      pcrf_vnf_id: {get_param: pcrf_vnf_id}