67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| openstack:
 | |
|   valid: &valid
 | |
|     id: openstack_template
 | |
|     provider: openstack
 | |
|     template_body: |
 | |
|       heat_template_version: 2013-05-23
 | |
| 
 | |
|       description: >
 | |
|         Hello world HOT template that just defines a single server.
 | |
|         Contains just base features to verify base HOT support.
 | |
|       parameters:
 | |
|         key_name:
 | |
|           type: string
 | |
|           description: Name of an existing key pair to use for the server
 | |
|           constraints:
 | |
|             - custom_constraint: nova.keypair
 | |
|         flavor:
 | |
|           type: string
 | |
|           description: Flavor for the server to be created
 | |
|           default: m1.small
 | |
|           constraints:
 | |
|             - custom_constraint: nova.flavor
 | |
|         image:
 | |
|           type: string
 | |
|           description: Image ID or image name to use for the server
 | |
|           constraints:
 | |
|             - custom_constraint: glance.image
 | |
|         admin_pass:
 | |
|           type: string
 | |
|           description: Admin password
 | |
|           hidden: true
 | |
|           constraints:
 | |
|             - length: { min: 6, max: 8 }
 | |
|               description: Password length must be between 6 and 8 characters
 | |
|             - allowed_pattern: "[a-zA-Z0-9]+"
 | |
|               description: Password must consist of characters and numbers only
 | |
|             - allowed_pattern: "[A-Z]+[a-zA-Z0-9]*"
 | |
|               description: Password must start with an uppercase character
 | |
|         db_port:
 | |
|           type: number
 | |
|           description: Database port number
 | |
|           default: 50000
 | |
|           constraints:
 | |
|             - range: { min: 40000, max: 60000 }
 | |
|               description: Port number must be between 40000 and 60000
 | |
| 
 | |
|       resources:
 | |
|         server:
 | |
|           type: OS::Nova::Server
 | |
|           properties:
 | |
|             key_name: { get_param: key_name }
 | |
|             image: { get_param: image }
 | |
|             flavor: { get_param: flavor }
 | |
|             admin_pass: { get_param: admin_pass }
 | |
|             user_data:
 | |
|               str_replace:
 | |
|                 template: |
 | |
|                   #!/bin/bash
 | |
|                   echo db_port
 | |
|                 params:
 | |
|                   db_port: { get_param: db_port }
 | |
| 
 | |
|       outputs:
 | |
|         server_networks:
 | |
|           description: The networks of the deployed server
 | |
|           value: { get_attr: [server, networks] }      
 | 
