heat_template_version: rocky

parameters:
  # Can be overridden via parameter_defaults in the environment
  node_admin_username:
    type: string
    default: heat-admin

  node_admin_extra_ssh_keys:
    type: comma_delimited_list
    default: []

description: >
  Uses cloud-init to create an additional user with a known name, in addition
  to the distro-default user created by the cloud-init default.

resources:
  userdata:
    type: OS::Heat::MultipartMime
    properties:
      parts:
      - config: {get_resource: user_config}

  # Note this requires cloud-init >= 0.7.2 ref bug #1100920
  user_config:
    type: OS::Heat::CloudConfig
    properties:
      cloud_config:
        user: {get_param: node_admin_username}
        ssh_authorized_keys: {get_param: node_admin_extra_ssh_keys}


outputs:
  OS::stack_id:
    value: {get_resource: userdata}
