forked from cloudify-cosmo/cloudify-aws-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
plugin.yaml
165 lines (157 loc) · 5.96 KB
/
plugin.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
##################################################################################
# Cloudify AWS EC2 built in types and plugins definitions.
##################################################################################
plugins:
aws:
executor: central_deployment_agent
source: https://github.com/cloudify-cosmo/cloudify-aws-plugin/archive/1.3rc1.zip
package_name: cloudify-aws-plugin
package_version: 1.3rc1
node_types:
cloudify.aws.nodes.Instance:
derived_from: cloudify.nodes.Compute
properties:
use_external_resource:
description: >
Indicate whether the resource exists or if Cloudify should create the resource.
type: boolean
default: false
resource_id:
description: >
If this is an existing resource, you should provide the ID of the resource in Amazon AWS.
If this a new resource, make this the name.
type: string
default: ''
image_id:
description: >
The ID of the AMI image in your Amazon account.
type: string
instance_type:
description: >
The instance's size.
type: string
parameters:
description: >
The key value pair parameters allowed by Amazon API to the
ec2.connection.EC2Connection.run_instances command. It should be mentioned that
although this field is listed as optional. A non-trivial use case requires
that both the key_name parameter and the security_groups parameter be specified.
default: {}
aws_config:
description: >
A dictionary of values to pass to authenticate with the AWS API.
default: {}
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: aws.ec2.instance.run_instances
start:
implementation: aws.ec2.instance.start
stop:
implementation: aws.ec2.instance.stop
delete:
implementation: aws.ec2.instance.terminate
cloudify.interfaces.validation:
creation:
implementation: aws.ec2.instance.creation_validation
cloudify.aws.nodes.ElasticIP:
derived_from: cloudify.nodes.VirtualIP
properties:
use_external_resource:
description: >
Indicate whether the resource exists or if Cloudify should create the resource.
type: boolean
default: false
resource_id:
description: >
Either the name or ID of the resource in Cloudify. If this is an existing
resource, you should provide the name or the ID of the resource in Amazon AWS.
type: string
default: ''
aws_config:
description: >
A dictionary of values to pass to authenticate with the AWS API.
default: {}
interfaces:
cloudify.interfaces.lifecycle:
create: aws.ec2.elasticip.allocate
delete: aws.ec2.elasticip.release
cloudify.interfaces.validation:
creation: aws.ec2.elasticip.creation_validation
cloudify.aws.nodes.SecurityGroup:
derived_from: cloudify.nodes.SecurityGroup
properties:
use_external_resource:
description: >
Indicate whether the resource exists or if Cloudify should create the resource.
type: boolean
default: false
resource_id:
description: >
Either the name or ID of the resource in Cloudify. If this is an existing
resource, you should provide the name or the ID of the resource in Amazon AWS.
type: string
default: ''
description:
description: >
The description field that is required for every security group that you create
in Amazon.
type: string
default: ''
rules:
default: []
description: >
You need to pass in either src_group_id (security group ID) OR cidr_ip,
and then the following three: ip_protocol, from_port and to_port.
aws_config:
description: >
A dictionary of values to pass to authenticate with the AWS API.
default: {}
interfaces:
cloudify.interfaces.lifecycle:
create: aws.ec2.securitygroup.create
delete: aws.ec2.securitygroup.delete
cloudify.interfaces.validation:
creation: aws.ec2.securitygroup.creation_validation
cloudify.aws.nodes.KeyPair:
derived_from: cloudify.nodes.Root
properties:
use_external_resource:
description: >
Indicate whether the resource exists or if Cloudify should create the resource.
type: boolean
default: false
resource_id:
description: >
Either the name or ID of the resource in Cloudify. If this is an existing
resource, you should provide the name or the ID of the resource in Amazon AWS.
type: string
default: ''
private_key_path:
description: >
The path where the key should be saved on the machine. If this is a bootstrap
process, this refers to the local computer. If this will run on the manager,
this will be saved on the manager.
type: string
default: ''
aws_config:
description: >
A dictionary of values to pass to authenticate with the AWS API.
default: {}
interfaces:
cloudify.interfaces.lifecycle:
create: aws.ec2.keypair.create
delete: aws.ec2.keypair.delete
cloudify.interfaces.validation:
creation: aws.ec2.keypair.creation_validation
relationships:
cloudify.aws.relationships.instance_connected_to_elastic_ip:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish: aws.ec2.elasticip.associate
unlink: aws.ec2.elasticip.disassociate
cloudify.aws.relationships.instance_connected_to_keypair:
derived_from: cloudify.relationships.connected_to
cloudify.aws.relationships.instance_connected_to_security_group:
derived_from: cloudify.relationships.connected_to