heat_template_version: pike description: > This is a template which will fetch the ssh host public key. parameters: server: description: ID of the node to apply this config to type: string deployment_actions: default: ['CREATE', 'UPDATE'] type: comma_delimited_list description: > List of stack actions that will trigger any deployments in this templates. The actions will be an empty list of the server is in the toplevel DeploymentServerBlacklist parameter's value. resources: SshHostPubKeyConfig: type: OS::Heat::SoftwareConfig properties: group: script outputs: - name: rsa - name: ecdsa - name: ed25519 config: | #!/bin/sh -x test -e '/etc/ssh/ssh_host_rsa_key.pub' && cat /etc/ssh/ssh_host_rsa_key.pub > $heat_outputs_path.rsa test -e '/etc/ssh/ssh_host_ecdsa_key.pub' && cat /etc/ssh/ssh_host_ecdsa_key.pub > $heat_outputs_path.ecdsa test -e '/etc/ssh/ssh_host_ed25519_key.pub' && cat /etc/ssh/ssh_host_ed25519_key.pub > $heat_outputs_path.ed25519 SshHostPubKeyDeployment: type: OS::Heat::SoftwareDeployment properties: config: {get_resource: SshHostPubKeyConfig} server: {get_param: server} actions: {get_param: deployment_actions} outputs: ecdsa: description: Host ssh public key (ecdsa) value: {get_attr: [SshHostPubKeyDeployment, ecdsa]} rsa: description: Host ssh public key (rsa) value: {get_attr: [SshHostPubKeyDeployment, rsa]} ed25519: description: Host ssh public key (ed25519) value: {get_attr: [SshHostPubKeyDeployment, ed25519]}