heat_template_version: 2013-05-23

parameters:
  # set all correct defaults for parameters before launch test
  image:
    type: string
    default: cirros-0.5.2-x86_64-disk
  flavor:
    type: string
    default: m1.tiny
  availability_zone:
    type: string
    description: The Availability Zone to launch the instance.
    default: nova
  volume_size:
    type: number
    description: Size of the volume to be created.
    default: 1
    constraints:
      - range: { min: 1, max: 1024 }
        description: must be between 1 and 1024 Gb.
  cidr:
    type: string
    default: 11.11.11.0/24

resources:
  server:
    type: OS::Nova::Server
    properties:
      image: {get_param: image}
      flavor: {get_param: flavor}
      networks:
        - port: { get_resource: server_port }
  server_port:
    type: OS::Neutron::Port
    properties:
      network_id: {get_resource: private_net}
  private_net:
    type: OS::Neutron::Net
  private_subnet:
    type: OS::Neutron::Subnet
    properties:
      network_id: { get_resource: private_net }
      cidr: {get_param: cidr}
  cinder_volume:
    type: OS::Cinder::Volume
    properties:
      size: { get_param: volume_size }
      availability_zone: { get_param: availability_zone }
  volume_attachment:
    type: OS::Cinder::VolumeAttachment
    properties:
      volume_id: { get_resource: cinder_volume }
      instance_uuid: { get_resource: server}
      mountpoint: /dev/vdc
