1 tosca_definitions_version: tosca_simple_yaml_1_0
4 - https://raw.githubusercontent.com/cloudify-cosmo/aria-extension-cloudify/master/plugins/openstack/plugin.yaml
9 derived_from: tosca.nodes.WebApplication
21 external_network_name:
37 type: aria.openstack.nodes.Network
39 resource_id: aria_helloworld_network
40 create_if_missing: true
41 openstack_config: { get_input: openstack_config }
44 type: aria.openstack.nodes.Router
46 external_network: { get_input: external_network_name }
47 create_if_missing: true
48 resource_id: aria_helloworld_rtr
49 openstack_config: { get_input: openstack_config }
52 type: aria.openstack.nodes.Subnet
54 resource_id: aria_helloworld_subnet
55 create_if_missing: true
56 openstack_config: { get_input: openstack_config }
62 type: aria.openstack.nodes.Port
64 create_if_missing: true
65 resource_id: aria_helloworld_port
66 openstack_config: { get_input: openstack_config }
68 - security_group: security_group
73 type: aria.openstack.nodes.FloatingIP
75 resource_id: aria_helloworld_floatingip
76 create_if_missing: true
77 openstack_config: { get_input: openstack_config }
79 floating_network_name: { get_input: external_network_name }
82 type: aria.openstack.nodes.SecurityGroup
84 create_if_missing: true
85 resource_id: aria_helloworld_sg
86 openstack_config: { get_input: openstack_config }
88 - remote_ip_prefix: 0.0.0.0/0
89 port: { get_input: webserver_port }
91 remote_ip_prefix: 0.0.0.0/0
94 type: aria.openstack.nodes.KeyPair
96 create_if_missing: true
97 resource_id: aria_helloworld_kp
98 private_key_path: { get_input: private_key_path }
99 openstack_config: { get_input: openstack_config }
102 type: aria.openstack.nodes.Server
104 image: { get_input: image }
105 flavor: { get_input: flavor }
106 create_if_missing: true
107 resource_id: aria_helloworld_vm
108 management_network_name: aria_helloworld_network
109 openstack_config: { get_input: openstack_config }
111 - floating_ip: virtual_ip
112 - security_group: security_group
119 port: { get_input: webserver_port }
126 primary: scripts/configure.sh
128 - "ssh.user > { get_input: ssh_username }"
129 - "ssh.key_filename > { get_input: private_key_path }"
130 - "ssh.address > { get_attribute: [ virtual_ip, floating_ip_address ] }"
133 primary: scripts/start.sh
135 - "ssh.user > { get_input: ssh_username }"
136 - "ssh.key_filename > { get_input: private_key_path }"
137 - "ssh.address > { get_attribute: [ virtual_ip, floating_ip_address ] }"
140 primary: scripts/stop.sh
142 - "ssh.user > { get_input: ssh_username }"
143 - "ssh.key_filename > { get_input: private_key_path }"
144 - "ssh.address > { get_attribute: [ virtual_ip, floating_ip_address ] }"