-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmacro-based-hello-world.yaml
71 lines (61 loc) · 2.31 KB
/
macro-based-hello-world.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{% from 'macro-based-hello-world/vm.yaml' import vm %}
{% from 'macro-based-hello-world/ip.yaml' import ip %}
{% from 'macro-based-hello-world/network.yaml' import network %}
{% from 'macro-based-hello-world/keypair.yaml' import keypair %}
{% from 'macro-based-hello-world/security_group.yaml' import security_group %}
tosca_definitions_version: cloudify_dsl_1_3
description: Macro-based hello world blueprint
imports:
- http://www.getcloudify.org/spec/cloudify/4.4.dev1/types.yaml
- http://www.getcloudify.org/spec/openstack-plugin/2.0.1/plugin.yaml
- http://www.getcloudify.org/spec/aws-plugin/1.4.10/plugin.yaml
inputs:
agent_user_1:
default: centos
agent_user_2:
default: centos
agent_private_key:
default: /etc/cloudify/ssh_key
webserver_port:
default: 8080
os_image:
default: image
os_flavor:
default: flavor
os_network_name:
default: network_name
os_keypair_name:
default: keypair_name
os_floating_network_id:
default: floating_network_id
aws_image_id:
default: image_id
aws_instance_type:
default: instance_type
aws_network_name:
default: network_name
aws_keypair_name:
default: keypair_name
aws_cidr_block:
default: 172.16.0.0/16
node_templates:
###########
# OPENSTACK
###########
{{ network('os_network', 'openstack', 'os_network_name') }}
{{ keypair('os_keypair', 'openstack', 'os_keypair_name', 'agent_private_key') }}
{{ security_group('os_sec_group', 'openstack',
rules=[(22, '0.0.0.0/0'), ('{get_input: webserver_port}', '0.0.0.0/0')]) }}
{{ ip('os_ip', 'openstack', 'os_floating_network_id') }}
{{ vm('os_vm', cloud='openstack', user='agent_user_1', image='os_image', flavor='os_flavor',
ip='os_ip', security_group='os_sec_group', keypair='os_keypair', network='os_network') }}
#####
# AWS
#####
{{ network('aws_network', 'aws', 'aws_network_name', cidr_block='aws_cidr_block') }}
{{ keypair('aws_keypair', 'aws', 'aws_keypair_name', 'agent_private_key') }}
{{ security_group('aws_sec_group', 'aws',
rules=[(22, '0.0.0.0/0'), ('{get_input: webserver_port}', '0.0.0.0/0')]) }}
{{ ip('aws_ip', 'aws') }}
{{ vm('aws_vm', cloud='aws', user='agent_user_2', image_id='aws_image_id', instance_type='aws_instance_type',
ip='aws_ip', security_group='aws_sec_group', keypair='aws_keypair', network='aws_network') }}