parameters:
  IronicPassword:
    type: string
    description: Ironic password for keystone access
    hidden: true
  NeutronPublicInterface:
    default: nic1
    description: What interface to bridge onto br-ex for network nodes.
    type: string
  NovaComputeDriver:
    default: nova.virt.ironic.driver.IronicDriver
    description: Full class name for the Nova compute driver
    type: string
  NovaComputeManager:
    default: ironic.nova.compute.manager.ClusteredComputeManager
    description: Full class name for the Nova compute manager
    type: string
  NovaSchedulerHostManager:
    default: nova.scheduler.ironic_host_manager.IronicHostManager
    description: Full class name for the Nova scheduler host manager
    type: string
  PowerSSHPrivateKey:
    description: Private key for using to ssh to a virtual power host.
    type: string
    hidden: true
resources:
  undercloudNovaDeployment:
    depends_on: [undercloudIronicDeployment]
    type: OS::Heat::StructuredDeployment
    properties:
      config: {get_resource: undercloudNovaConfig}
      server: {get_resource: undercloud}
      signal_transport: NO_SIGNAL
      input_values:
        nova_service_password: {get_param: NovaPassword}
  undercloudIronicDeployment:
    type: OS::Heat::StructuredDeployment
    properties:
      config: {get_resource: undercloudIronicConfig}
      server: {get_resource: undercloud}
      signal_transport: NO_SIGNAL
      input_values:
        ironic_service_password: {get_param: IronicPassword}
        virtual_power_ssh_key: {get_param: PowerSSHPrivateKey}
