heat_template_version: 2015-04-30

parameters:
  # Set these via parameter defaults to configure external VIPs
  ControlPlaneIP:
    default: ''
    type: string
  ExternalNetworkVip:
    default: ''
    type: string
  InternalApiNetworkVip:
    default: ''
    type: string
  StorageNetworkVip:
    default: ''
    type: string
  StorageMgmtNetworkVip:
    default: ''
    type: string
  # The following are unused in this template
  ControlPlaneIp:
    default: ''
    type: string
  ExternalIp:
    default: ''
    type: string
  ExternalIpUri:
    default: ''
    type: string
  InternalApiIp:
    default: ''
    type: string
  InternalApiIpUri:
    default: ''
    type: string
  StorageIp:
    default: ''
    type: string
  StorageIpUri:
    default: ''
    type: string
  StorageMgmtIp:
    default: ''
    type: string
  StorageMgmtIpUri:
    default: ''
    type: string
  TenantIp:
    default: ''
    type: string
  TenantIpUri:
    default: ''
    type: string

outputs:
  net_ip_map:
    description: >
      A Hash containing a mapping of network names to assigned IPs
      for a specific machine.
    value:
      ctlplane: {get_param: ControlPlaneIP}
      external: {get_param: ExternalNetworkVip}
      internal_api: {get_param: InternalApiNetworkVip}
      storage: {get_param: StorageNetworkVip}
      storage_mgmt: {get_param: StorageMgmtNetworkVip}
  net_ip_uri_map:
    description: >
      A Hash containing a mapping of netowrk names to assigned IPs for a
      specific machine with brackets around IPv6 addresses for use in URLs.
    value:
      ctlplane: {get_param: ControlPlaneIP}
      external:
        list_join:
          - ''
          - - '['
            - {get_param: ExternalNetworkVip}
            - ']'
      internal_api:
        list_join:
          - ''
          - - '['
            - {get_param: InternalApiNetworkVip}
            - ']'
      storage:
        list_join:
          - ''
          - - '['
            - {get_param: StorageNetworkVip}
            - ']'
      storage_mgmt:
        list_join:
          - ''
          - - '['
            - {get_param: StorageMgmtNetworkVip}
            - ']'