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

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}
      ctlplane_uri: {get_param: ControlPlaneIP}
      external_uri:
        list_join:
          - ''
          - - '['
            - {get_param: ExternalNetworkVip}
            - ']'
      internal_api_uri:
        list_join:
          - ''
          - - '['
            - {get_param: InternalApiNetworkVip}
            - ']'
      storage_uri:
        list_join:
          - ''
          - - '['
            - {get_param: StorageNetworkVip}
            - ']'
      storage_mgmt_uri:
        list_join:
          - ''
          - - '['
            - {get_param: StorageMgmtNetworkVip}
            - ']'
