description: examples/scale1_hot.yaml
heat_template_version: '2014-10-16'
resources:
  ComputeUser:
    properties:
      Policies:
      - get_param: ComputeAccessPolicy
    type: AWS::IAM::User
  GlobalAccessPolicy:
    type: OS::Heat::AccessPolicy
  NovaCompute0:
    metadata:
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute0Key
          path: NovaCompute0Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute0Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
    properties:
      image:
        get_param: ComputeImage
    type: OS::Nova::Server
  NovaCompute0CompletionCondition:
    depends_on: notcompute
    properties:
      Count: '1'
      Handle:
        get_resource: NovaCompute0CompletionHandle
      Timeout: '1800'
    type: AWS::CloudFormation::WaitCondition
  NovaCompute0CompletionHandle:
    type: AWS::CloudFormation::WaitConditionHandle
  NovaCompute0Config:
    metadata:
      completion-handle:
        get_resource: NovaCompute0CompletionHandle
      neutron:
        ovs:
          local_ip:
            get_attr:
            - NovaCompute0
            - networks
            - ctlplane
            - 0
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute0Key
          path: NovaCompute0Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute0Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
      rabbit:
        password: guest
        username: guest
    type: AWS::AutoScaling::LaunchConfiguration
  NovaCompute0Key:
    properties:
      UserName:
        get_param: ComputeUser
    type: AWS::IAM::AccessKey
  NovaCompute1:
    metadata:
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute1Key
          path: NovaCompute1Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute1Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
    properties:
      image:
        get_param: ComputeImage
    type: OS::Nova::Server
  NovaCompute1CompletionCondition:
    depends_on: notcompute
    properties:
      Count: '1'
      Handle:
        get_resource: NovaCompute1CompletionHandle
      Timeout: '1800'
    type: AWS::CloudFormation::WaitCondition
  NovaCompute1CompletionHandle:
    type: AWS::CloudFormation::WaitConditionHandle
  NovaCompute1Config:
    metadata:
      completion-handle:
        get_resource: NovaCompute1CompletionHandle
      neutron:
        ovs:
          local_ip:
            get_attr:
            - NovaCompute1
            - networks
            - ctlplane
            - 0
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute1Key
          path: NovaCompute1Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute1Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
      rabbit:
        password: guest
        username: guest
    type: AWS::AutoScaling::LaunchConfiguration
  NovaCompute1Key:
    properties:
      UserName:
        get_param: ComputeUser
    type: AWS::IAM::AccessKey
  NovaCompute2:
    metadata:
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute2Key
          path: NovaCompute2Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute2Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
    properties:
      image:
        get_param: ComputeImage
    type: OS::Nova::Server
  NovaCompute2CompletionCondition:
    depends_on: notcompute
    properties:
      Count: '1'
      Handle:
        get_resource: NovaCompute2CompletionHandle
      Timeout: '1800'
    type: AWS::CloudFormation::WaitCondition
  NovaCompute2CompletionHandle:
    type: AWS::CloudFormation::WaitConditionHandle
  NovaCompute2Config:
    metadata:
      completion-handle:
        get_resource: NovaCompute2CompletionHandle
      neutron:
        ovs:
          local_ip:
            get_attr:
            - NovaCompute2
            - networks
            - ctlplane
            - 0
      os-collect-config:
        cfn:
          access_key_id:
            get_resource: NovaCompute2Key
          path: NovaCompute2Config.Metadata
          secret_access_key:
            get_attr:
            - NovaCompute2Key
            - SecretAccessKey
          stack_name:
            get_param: AWS::StackName
      rabbit:
        password: guest
        username: guest
    type: AWS::AutoScaling::LaunchConfiguration
  NovaCompute2Key:
    properties:
      UserName:
        get_param: ComputeUser
    type: AWS::IAM::AccessKey