HeatTemplateFormatVersion: '2012-12-12'
Parameters:
  AllHosts:
    Type: String
  ComputeImage:
    Type: String
Resources:
  ComputeAccessPolicy:
    Type: OS::Heat::AccessPolicy
    Properties:
      AllowedResources: [ NovaCompute0 ]
  NovaCompute0Key:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName:
        Ref: ComputeUser
  NovaCompute0CompletionCondition:
    Type: AWS::CloudFormation::WaitCondition
    DependsOn: notcompute
    Properties:
      Handle: {Ref: NovaCompute0CompletionHandle}
      Count: '1'
      Timeout: '1800'
  NovaCompute0CompletionHandle:
    Type: AWS::CloudFormation::WaitConditionHandle
  NovaCompute0:
    Type: OS::Nova::Server
    Properties:
      image:
        Ref: ComputeImage
    Metadata:
      os-collect-config:
        cfn:
          access_key_id:
            Ref: NovaCompute0Key
          secret_access_key:
            Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
          stack_name: {Ref: 'AWS::StackName'}
          path: NovaCompute0Config.Metadata
  NovaCompute0Config:
    Type: AWS::AutoScaling::LaunchConfiguration
    Metadata:
      completion-handle:
        Ref: NovaCompute0CompletionHandle
      os-collect-config:
        cfn:
          access_key_id:
            Ref: NovaCompute0Key
          secret_access_key:
            Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ]
          stack_name: {Ref: 'AWS::StackName'}
          path: NovaCompute0Config.Metadata
      hosts:
        Ref: AllHosts
