heat_template_version: 2015-04-30

description: >
  Configure hieradata for service -> virtual IP mappings.

resources:
  VipConfigImpl:
    type: OS::Heat::StructuredConfig
    properties:
      group: os-apply-config
      config:
        hiera:
          datafiles:
            vip_data:
              mapped_data:
                keystone_admin_api_vip: {get_input: keystone_admin_api_vip}
                keystone_public_api_vip: {get_input: keystone_public_api_vip}
                neutron_api_vip: {get_input: neutron_api_vip}
                cinder_api_vip: {get_input: cinder_api_vip}
                glance_api_vip: {get_input: glance_api_vip}
                glance_registry_vip: {get_input: glance_registry_vip}
                swift_proxy_vip: {get_input: swift_proxy_vip}
                nova_api_vip: {get_input: nova_api_vip}
                nova_metadata_vip: {get_input: nova_metadata_vip}
                ceilometer_api_vip: {get_input: ceilometer_api_vip}
                heat_api_vip: {get_input: heat_api_vip}
                horizon_vip: {get_input: horizon_vip}
                redis_vip: {get_input: redis_vip}
                mysql_vip: {get_input: mysql_vip}
                tripleo::loadbalancer::public_virtual_ip: {get_input: public_virtual_ip}
                tripleo::loadbalancer::controller_virtual_ip: {get_input: control_virtual_ip}
                tripleo::loadbalancer::internal_api_virtual_ip: {get_input: internal_api_virtual_ip}
                tripleo::loadbalancer::storage_virtual_ip: {get_input: storage_virtual_ip}
                tripleo::loadbalancer::storage_mgmt_virtual_ip: {get_input: storage_mgmt_virtual_ip}
                tripleo::redis_notification::haproxy_monitor_ip: {get_input: control_virtual_ip}


outputs:
  OS::stack_id:
    description: The VipConfigImpl resource.
    value: {get_resource: VipConfigImpl}