heat_template_version: 2015-04-30
description: 'Ceph Cluster config data'

parameters:
  ceph_fsid:
    default: ''
    type: string
  ceph_admin_key:
    default: ''
    type: string
  ceph_mon_key:
    default: ''
    type: string
  ceph_mon_names:
    type: comma_delimited_list
  ceph_mon_ips:
    type: comma_delimited_list

resources:
  CephClusterConfigImpl:
    type: OS::Heat::StructuredConfig
    properties:
      group: os-apply-config
      config:
        ceph_cluster:
          mon_initial_members:
            list_join:
            - ','
            - {get_param: ceph_mon_names}
          mon_host:
            list_join:
            - ','
            - {get_param: ceph_mon_ips}
          fsid: {get_param: ceph_fsid}
          admin_key: {get_param: ceph_admin_key}
          mon_key: {get_param: ceph_mon_key}
          # We would need a dedicated key for OSD bootstrap
          bootstrap_osd_key: {get_param: ceph_mon_key}
          osds: '{"/srv/data": {}}'

outputs:
  config_id:
    description: The ID of the CephClusterConfigImpl resource.
    value:
      {get_resource: CephClusterConfigImpl}