2 # Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
17 tosca_definitions_version: tosca_simple_yaml_1_0
23 aws plugin executes operations.
30 aria.aws.datatypes.Config:
32 # Partially based on: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
35 The ID of your AWS ACCESS KEY.
38 aws_secret_access_key:
40 The ID of your AWS SECRET KEY.
45 This is for backward compatibility with version 1.2.
50 The EC2 Region RegionName, such as us-east-1.
51 (Not us-east-1b, which is an availability zone, or US East, which is a Region.)
56 The endpoint for the given region.
61 The ELB Region RegionName, such as us-east-1.
62 (Not us-east-1b, which is an availability zone, or US East, which is a Region.)
63 Required for aws_config for node type aria.aws.nodes.ElasticLoadBalancer.
68 The endpoint for the given ELB region.
72 aria.aws.datatypes.Route:
74 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html
77 In most cases, leave this blank, because the route table is implicit from the node or
78 relationship that is creating the route.
81 destination_cidr_block:
83 This is the cidr_block that you want to route traffic for to the device.
87 The id of the gateway (either internet gateway, customer gateway, or vpn gateway).
92 The id of the instance (if you are routing to a NAT instance).
97 The id of an attached network interface.
100 vpc_peering_connection_id:
102 The id of a VPC peering connection.
106 aria.aws.datatypes.NetworkAclEntry:
107 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-acl-entry.html
111 Some number to identify this rule. Cannot duplicate an existing rule number.
115 The Assigned Internet Protocol Number for the protocol (e.g. 1 is ICMP, 6 is TCP, and 17 is UDP).
118 description: Either ALLOW or DENY.
121 - valid_values: [ ALLOW, DENY ]
128 Whether the rule applies to egress traffic from the subnet.
134 If in protocol you chose 1 for ICMP, the ICMP type, -1 for all ICMP types.
139 If in protocol you chose 1 for ICMP, the ICMP code, -1 for all ICMP codes.
144 The first port in the range.
147 - in_range: [ 1, 65535 ]
150 The last port in the range.
153 - in_range: [ 1, 65535 ]
155 aria.aws.datatypes.SecurityGroupRule:
156 # Based on: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html
160 Whether the rule applies to egress traffic.
166 The Assigned Internet Protocol Number for the protocol.
171 The first port in the range.
175 - in_range: [ 1, 65535 ]
178 The last port in the range.
182 - in_range: [ 1, 65535 ]
190 The security group ID.
194 aria.aws.datatypes.BlockDeviceMapping:
195 derived_from: tosca.datatypes.Root
197 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html#options
205 type: aria.aws.datatypes.Ebs
211 aria.aws.datatypes.Ebs:
212 derived_from: tosca.datatypes.Root
214 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html#options
221 delete_on_termination:
228 - valid_values: [ standard, io1, gp2, sc1, st1]
237 aria.aws.datatypes.NetworkInterfacePrivateIPAddress:
238 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html
239 # Specifically, look under --private-ip-addresses, and notice the differences from
240 # --private-ip-address.
241 derived_from: tosca.datatypes.Root
250 aria.aws.datatypes.NetworkInterface:
251 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html
252 derived_from: tosca.datatypes.Root
276 private_ip_addresses:
279 type: aria.aws.datatypes.NetworkInterfacePrivateIPAddress
281 secondary_private_ip_address_count:
290 generate_cli_skeleton:
294 aria.aws.datatypes.RunInstancesParameters:
295 derived_from: tosca.datatypes.Root
297 # These properties were derived from the parameters of boto.e2c.connection.run_instances:
298 # https://github.com/boto/boto/blob/master/boto/ec2/connection.py#L738
299 # In the corresponding aws documentation,
300 # http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html,
301 # The properties 'placement', 'placement_group' and 'tenancy' of the boto api are part of a
302 # structure called 'placement', in addition to 'affinity' and 'host_id' which do not exist
348 type: aria.aws.datatypes.BlockDeviceMapping
350 disable_api_termination:
353 instance_initiated_shutdown_behavior:
356 - valid_values: [ stop, terminate ]
375 instance_profile_name:
378 instance_profile_arn:
385 - valid_values: [ default, dedicated]
392 type: aria.aws.datatypes.NetworkInterface
398 aria.aws.datatypes.LoadBalancerListener:
399 # According to the description of the 'listeners' property of aria.aws.node.LoadBalancer
400 derived_from: tosca.datatypes.Root
402 LoadBalancerPortNumber:
405 - in_range: [ 1, 65535 ]
409 - in_range: [ 1, 65535 ]
413 - valid_values: [ tcp, ssl, http, https ]
418 aria.aws.datatypes.LoadBalancerComplexListener:
419 # According to the description of the 'complex_listeners' property of aria.aws.node.LoadBalancer
420 derived_from: aria.aws.datatypes.LoadBalancerListener
425 - in_range: [ 1, 65535 ]
427 aria.aws.datatypes.LoadBalancerHealthCheck:
428 # Based on: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html
429 derived_from: tosca.datatypes.Root
447 aria.aws.datatypes.NetworkInterfaceCreateParameters:
448 # These properties were derived from the parameters of boto.e2c.connection.create_network_interface
449 # https://github.com/boto/boto/blob/master/boto/ec2/connection.py#L4286, that are based on:
450 # http://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html
451 derived_from: tosca.datatypes.Root
471 aria.aws.datatypes.VolumeCreateParameters:
472 # Based on http://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html#synopsis
473 derived_from: tosca.datatypes.Root
500 aria.aws.datatypes.VolumeDeleteParameters:
501 # Based on: http://docs.aws.amazon.com/cli/latest/reference/ec2/delete-volume.html
502 derived_from: tosca.datatypes.Root
512 aria.aws.interfaces.Validation:
513 derived_from: tosca.interfaces.Root
516 creation operation for the aws validation interface
517 aria.aws.interfaces.Snapshot:
518 derived_from: tosca.interfaces.Root
521 creation operation for the aws snapshot interface
525 aria.aws.nodes.Instance:
526 derived_from: tosca.nodes.Compute
528 use_external_resource:
530 Indicate whether the resource exists or it should be created,
531 true if you are bringing an existing resource, false if you want to create it.
536 The AWS resource ID of the external resource, if use_external_resource is true.
537 Otherwise it is an empty string.
542 A dictionary of key/value pairs of tags you want to add.
546 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
549 Optional field if you want to add a specific name to the instance.
555 The ID of the AMI image in your Amazon account.
566 The key value pair parameters allowed by Amazon API to the
567 ec2.connection.EC2Connection.run_instances command. It should be mentioned that
568 although this field is listed as optional, A non-trivial use case requires
569 that both the key_name parameter and the security_groups parameter be specified.
570 type: aria.aws.datatypes.RunInstancesParameters
575 A dictionary of values to pass to authenticate with the AWS API.
576 type: aria.aws.datatypes.Config
584 implementation: cloudify-aws-plugin > cloudify_aws.ec2.instance.create
586 implementation: cloudify-aws-plugin > cloudify_aws.ec2.instance.start
588 start_retry_interval:
589 description: Polling interval until the server is active in seconds
594 Path to private key which matches the server's
595 public key. Will be used to decrypt password in case
596 the "use_password" property is set to "true"
600 implementation: cloudify-aws-plugin > cloudify_aws.ec2.instance.stop
602 implementation: cloudify-aws-plugin > cloudify_aws.ec2.instance.delete
604 type: aria.aws.interfaces.Validation
606 implementation: cloudify-aws-plugin > cloudify_aws.ec2.instance.creation_validation
609 capability: tosca.capabilities.Node
610 node: aria.aws.nodes.ElasticIP
611 relationship: aria.aws.relationships.InstanceConnectedToElasticIP
612 occurrences: [ 0, UNBOUNDED ]
614 capability: tosca.capabilities.Node
615 node: aria.aws.nodes.KeyPair
616 relationship: aria.aws.relationships.InstanceConnectedToKeypair
617 occurrences: [ 0, UNBOUNDED ]
619 capability: tosca.capabilities.Node
620 node: aria.aws.nodes.SecurityGroup
621 relationship: aria.aws.relationships.instance_connected_to_security_group
622 occurrences: [ 0, UNBOUNDED ]
624 capability: tosca.capabilities.Node
625 node: aria.aws.nodes.ElasticLoadBalancer
626 relationship: aria.aws.relationships.InstanceConnectedToLoadBalancer
627 occurrences: [ 0, UNBOUNDED ]
628 - subnet_to_be_contained_in:
629 capability: tosca.capabilities.Node
630 node: aria.aws.nodes.Subnet
631 relationship: aria.aws.relationships.InstanceContainedInSubnet
632 occurrences: [ 0, UNBOUNDED ]
633 - subnet_to_connect_to:
634 capability: tosca.capabilities.Node
635 node: aria.aws.nodes.Subnet
636 relationship: aria.aws.relationships.InstanceConnectedToSubnet
637 occurrences: [ 0, UNBOUNDED ]
639 capability: tosca.capabilities.Root
640 node: aria.aws.nodes.Interface
641 relationship: aria.aws.relationships.InstanceConnectedToENI
642 occurrences: [ 0, UNBOUNDED ]
644 aria.aws.nodes.WindowsInstance:
645 derived_from: aria.aws.nodes.Instance
654 aria.aws.nodes.ElasticIP:
655 derived_from: tosca.nodes.Root
657 use_external_resource:
659 Indicate whether the resource exists or it should be created,
660 true if you are bringing an existing resource, false if you want to create it.
665 The AWS resource ID of the external resource, if use_external_resource is true.
666 Otherwise it is an empty string.
671 A dictionary of key/value pairs of tags you want to add.
675 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
678 Set this to 'vpc' if you want to use VPC.
683 A dictionary of values to pass to authenticate with the AWS API.
684 type: aria.aws.datatypes.Config
689 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticip.create
691 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticip.delete
693 type: aria.aws.interfaces.Validation
695 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticip.creation_validation
697 aria.aws.nodes.SecurityGroup:
698 derived_from: tosca.nodes.Root
700 use_external_resource:
702 Indicate whether the resource exists or it should be created,
703 true if you are bringing an existing resource, false if you want to create it.
708 The AWS resource ID of the external resource, if use_external_resource is true.
709 Otherwise it is an empty string.
714 A dictionary of key/value pairs of tags you want to add.
718 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
721 The description field that is required for every security group that you create
726 You need to pass in either src_group_id (security group ID) OR cidr_ip,
727 and then the following three: ip_protocol, from_port and to_port.
730 type: aria.aws.datatypes.SecurityGroupRule
734 A dictionary of values to pass to authenticate with the AWS API.
735 type: aria.aws.datatypes.Config
740 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.create
742 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.start
744 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.delete
746 type: aria.aws.interfaces.Validation
748 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.creation_validation
751 capability: tosca.capabilities.Node
752 node: aria.aws.nodes.VPC
753 relationship: aria.aws.relationships.SecurityGroupContainedInVPC
754 occurrences: [ 0, UNBOUNDED ]
755 - security_group_rule:
756 capability: tosca.capabilities.Node
757 node: aria.aws.nodes.SecurityGroupRule
758 relationship: aria.aws.relationships.SecurityGroupUsesRule
759 occurrences: [ 0, UNBOUNDED ]
761 aria.aws.nodes.Volume:
762 derived_from: tosca.nodes.Root
764 use_external_resource:
766 Indicate whether the resource exists or it should be created,
767 true if you are bringing an existing resource, false if you want to create it.
772 The AWS resource ID of the external resource, if use_external_resource is true.
773 Otherwise it is an empty string.
778 A dictionary of key/value pairs of tags you want to add.
782 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
785 The size of the volume in GB.
789 A string representing the AWS availability zone.
793 The device on the instance
797 A dictionary of values to pass to authenticate with the AWS API.
798 type: aria.aws.datatypes.Config
803 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.create
808 type: aria.aws.datatypes.VolumeCreateParameters
811 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.start
813 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.delete
818 type: aria.aws.datatypes.VolumeDeleteParameters
821 type: aria.aws.interfaces.Validation
823 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.creation_validation
825 type: aria.aws.interfaces.Snapshot
827 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.create_snapshot
836 capability: tosca.capabilities.Node
837 node: aria.aws.nodes.Instance
838 relationship: aria.aws.relationships.VolumeConnectedToInstance
839 occurrences: [ 0, UNBOUNDED ]
841 aria.aws.nodes.KeyPair:
842 derived_from: tosca.nodes.Root
844 use_external_resource:
846 Indicate whether the resource exists or if the resource should be created.
851 The AWS resource ID of the external resource, if use_external_resource is true.
852 If use_external_resource is false, this will be the keys name and ID in AWS.
853 If left blank, the plugin will set a name for you.
854 Otherwise it is an empty string.
859 A dictionary of key/value pairs of tags you want to add.
863 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
866 The path where the key should be saved on the machine. If this is a bootstrap
867 process, this refers to the local computer. If this will run on the manager,
868 this will be saved on the manager.
872 A dictionary of values to pass to authenticate with the AWS API.
873 type: aria.aws.datatypes.Config
881 implementation: cloudify-aws-plugin > cloudify_aws.ec2.keypair.create
883 implementation: cloudify-aws-plugin > cloudify_aws.ec2.keypair.delete
885 type: aria.aws.interfaces.Validation
887 implementation: cloudify-aws-plugin > cloudify_aws.ec2.keypair.creation_validation
889 aria.aws.nodes.ElasticLoadBalancer:
890 derived_from: tosca.nodes.LoadBalancer
892 use_external_resource:
894 Indicate whether the resource exists or it should be created,
895 true if you are bringing an existing resource, false if you want to create it.
900 The AWS resource ID of the external resource, if use_external_resource is true.
901 Otherwise it is an empty string.
906 A dictionary of key/value pairs of tags you want to add.
910 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
913 The mnemonic name associated with the new load balancer
917 zones (List of strings) - The names of the availability zone(s) to add.
918 example: ['us-east-1b','us-east-1b']
922 security_groups (list of strings) - The security groups assigned to your LoadBalancer
924 example: ['sg-123456','sg-7891011']
925 FYI: security groups only supported with vpc
933 listeners (List of tuples) - Each tuple contains three or four values, (LoadBalancerPortNumber,
934 InstancePortNumber, Protocol, [SSLCertificateId]) where LoadBalancerPortNumber and
935 InstancePortNumber are integer values between 1 and 65535, Protocol is a string containing
936 either 'TCP', 'SSL', 'HTTP', or 'HTTPS'; SSLCertificateID is the ARN of a AWS IAM certificate,
937 and must be specified when doing HTTPS.
938 example: [[80, 8080, 'http'], [443, 8443, 'tcp']]
941 type: aria.aws.datatypes.LoadBalancerListener
944 list of healthchecks (dicts) to use as criteria for instance health
945 example: [{'target': 'HTTP:8080/health'}, {'target': 'HTTP:80/alive'}]
948 type: aria.aws.datatypes.LoadBalancerHealthCheck
953 The type of a LoadBalancer. By default, Elastic Load Balancing creates an internet-facing
954 LoadBalancer with a publicly resolvable DNS name, which resolves to public IP addresses.
955 Specify the value internal for this option to create an internal LoadBalancer with a DNS
956 name that resolves to private IP addresses.
957 This option is only available for LoadBalancers attached to an Amazon VPC.
963 list of strings - A list of subnet IDs in your VPC to attach to your LoadBalancer.
972 List of tuples - Each tuple contains four or five values, (LoadBalancerPortNumber,
973 InstancePortNumber, Protocol, InstanceProtocol, SSLCertificateId).
975 LoadBalancerPortNumber and InstancePortNumber are integer values between 1 and 65535
976 Protocol and InstanceProtocol is a string containing either 'TCP', 'SSL', 'HTTP', or 'HTTPS'
977 SSLCertificateId is the ARN of an SSL certificate loaded into AWS IAM
980 type: aria.aws.datatypes.LoadBalancerComplexListener
985 A dictionary of values to pass to authenticate with the AWS API.
986 type: aria.aws.datatypes.Config
991 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.create
993 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.start
995 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.delete
997 type: aria.aws.interfaces.Validation
999 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.creation_validation
1002 derived_from: tosca.nodes.network.Network
1004 use_external_resource:
1006 Indicate whether the resource exists or it should be created,
1007 true if you are bringing an existing resource, false if you want to create it.
1012 The AWS resource ID of the external resource, if use_external_resource is true.
1013 Otherwise it is an empty string.
1018 A dictionary of key/value pairs of tags you want to add.
1022 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1025 The CIDR Block that you will split this VPCs subnets across.
1029 Default or dedicated.
1035 A dictionary of values to pass to authenticate with the AWS API.
1036 type: aria.aws.datatypes.Config
1041 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.create_vpc
1043 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.start
1045 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.delete
1047 type: aria.aws.interfaces.Validation
1049 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.creation_validation
1052 capability: tosca.capabilities.Node
1053 node: aria.aws.nodes.VPC
1054 relationship: aria.aws.relationships.RouteTableOfSourceVPCConnectedToTargetPeerVPC
1055 occurrences: [ 0, UNBOUNDED ]
1057 aria.aws.nodes.Subnet:
1058 derived_from: tosca.nodes.Root
1060 use_external_resource:
1062 Indicate whether the resource exists or it should be created,
1063 true if you are bringing an existing resource, false if you want to create it.
1068 The AWS resource ID of the external resource, if use_external_resource is true.
1069 Otherwise it is an empty string.
1074 A dictionary of key/value pairs of tags you want to add.
1078 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1081 The CIDR Block that instances will be on.
1085 The availability zone that you want your subnet in.
1091 A dictionary of values to pass to authenticate with the AWS API.
1092 type: aria.aws.datatypes.Config
1097 implementation: cloudify-aws-plugin > cloudify_aws.vpc.subnet.create_subnet
1099 implementation: cloudify-aws-plugin > cloudify_aws.vpc.subnet.start_subnet
1101 implementation: cloudify-aws-plugin > cloudify_aws.vpc.subnet.delete_subnet
1103 type: aria.aws.interfaces.Validation
1105 implementation: cloudify-aws-plugin > cloudify_aws.vpc.subnet.creation_validation
1108 capability: tosca.capabilities.Node
1109 node: aria.aws.nodes.VPC
1110 relationship: aria.aws.relationships.SubnetContainedInVPC
1111 occurrences: [ 0, UNBOUNDED ]
1113 aria.aws.nodes.Gateway:
1114 derived_from: tosca.nodes.Root
1116 use_external_resource:
1118 Indicate whether the resource exists or it should be created,
1119 true if you are bringing an existing resource, false if you want to create it.
1124 The AWS resource ID of the external resource, if use_external_resource is true.
1125 Otherwise it is an empty string.
1130 A dictionary of key/value pairs of tags you want to add.
1134 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1137 A dictionary of values to pass to authenticate with the AWS API.
1138 type: aria.aws.datatypes.Config
1142 type: aria.aws.interfaces.Validation
1144 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.creation_validation
1147 capability: tosca.capabilities.Node
1148 node: aria.aws.nodes.VPC
1149 relationship: aria.aws.relationships.GatewayConnectedToVPC
1150 occurrences: [ 0, UNBOUNDED ]
1152 aria.aws.nodes.InternetGateway:
1153 derived_from: aria.aws.nodes.Gateway
1157 The cidr_block that you want this internet gateway to service. Default is for all internet
1160 default: '0.0.0.0/0'
1164 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.create_internet_gateway
1166 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.start_internet_gateway
1168 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.delete_internet_gateway
1170 aria.aws.nodes.VPNGateway:
1171 derived_from: aria.aws.nodes.Gateway
1175 Type of VPN Connection. Only valid value currently is ipsec.1
1180 The Availability Zone where you want the VPN gateway.
1187 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.create_vpn_gateway
1189 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.start_vpn_gateway
1191 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.delete_vpn_gateway
1193 aria.aws.nodes.CustomerGateway:
1194 derived_from: aria.aws.nodes.Gateway
1198 Type of VPN Connection. Only valid value currently is ipsec.1
1203 Internet-routable IP address for customers gateway. Must be a static address
1207 Customer gateways Border Gateway Protocol (BGP) Autonomous System Number (ASN)
1212 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.create_customer_gateway
1214 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.start_customer_gateway
1216 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.delete_customer_gateway
1219 capability: tosca.capabilities.Node
1220 node: aria.aws.nodes.VPNGateway
1221 relationship: aria.aws.relationships.CustomerGatewayConnectedToVPNGateway
1222 occurrences: [ 0, UNBOUNDED ]
1225 derived_from: tosca.nodes.Root
1227 use_external_resource:
1229 Indicate whether the resource exists or it should be created,
1230 true if you are bringing an existing resource, false if you want to create it.
1235 The AWS resource ID of the external resource, if use_external_resource is true.
1236 Otherwise it is an empty string.
1241 A dictionary of key/value pairs of tags you want to add.
1245 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1246 acl_network_entries:
1248 A list of rules of data type aria.datatypes.aws.NetworkAclEntry (see above).
1251 type: aria.aws.datatypes.NetworkAclEntry
1256 A dictionary of values to pass to authenticate with the AWS API.
1257 type: aria.aws.datatypes.Config
1262 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.create_network_acl
1264 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.start_network_acl
1266 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.delete_network_acl
1268 type: aria.aws.interfaces.Validation
1270 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.creation_validation
1273 capability: tosca.capabilities.Node
1274 node: aria.aws.nodes.VPC
1275 relationship: aria.aws.relationships.NetworkACLContainedInVPC
1276 occurrences: [ 0, UNBOUNDED ]
1278 capability: tosca.capabilities.Node
1279 node: aria.aws.nodes.Subnet
1280 relationship: aria.aws.relationships.NetworkACLAssociatedWithSubnet
1281 occurrences: [ 0, UNBOUNDED ]
1283 aria.aws.nodes.DHCPOptions:
1284 derived_from: tosca.nodes.Root
1286 use_external_resource:
1288 Indicate whether the resource exists or it should be created,
1289 true if you are bringing an existing resource, false if you want to create it.
1294 The AWS resource ID of the external resource, if use_external_resource is true.
1295 Otherwise it is an empty string.
1300 A dictionary of key/value pairs of tags you want to add.
1304 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1310 domain_name_servers:
1312 A list of up to four DNS servers.
1320 A list of up to four NTP servers.
1326 netbios_name_servers:
1328 A list of up to four netbios servers.
1336 netbios type. recommended two.
1342 A dictionary of values to pass to authenticate with the AWS API.
1343 type: aria.aws.datatypes.Config
1348 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.create_dhcp_options
1350 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.start_dhcp_options
1352 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.delete_dhcp_options
1354 type: aria.aws.interfaces.Validation
1356 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.creation_validation
1359 capability: tosca.capabilities.Node
1360 node: aria.aws.nodes.VPC
1361 relationship: aria.aws.relationships.DHCPOptionsAssociatedWithVPC
1362 occurrences: [ 0, UNBOUNDED ]
1364 aria.aws.nodes.RouteTable:
1365 derived_from: tosca.nodes.Root
1367 use_external_resource:
1369 Indicate whether the resource exists or it should be created,
1370 true if you are bringing an existing resource, false if you want to create it.
1376 The AWS resource ID of the external resource, if use_external_resource is true.
1377 Otherwise it is an empty string.
1382 A dictionary of key/value pairs of tags you want to add.
1386 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1389 A dictionary of values to pass to authenticate with the AWS API.
1390 type: aria.aws.datatypes.Config
1395 implementation: cloudify_aws.vpc.routetable.create_route_table
1399 A list of aria.aws.datatypes.Route.
1402 type: aria.aws.datatypes.Route
1405 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.start_route_table
1407 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.delete_route_table
1409 type: aria.aws.interfaces.Validation
1411 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.creation_validation
1414 capability: tosca.capabilities.Node
1415 node: aria.aws.nodes.VPC
1416 relationship: aria.aws.relationships.SubnetContainedInVPC
1417 occurrences: [ 0, UNBOUNDED ]
1419 capability: tosca.capabilities.Node
1420 node: aria.aws.nodes.Subnet
1421 relationship: aria.aws.relationships.RoutetableAssociatedWithSubnet
1422 occurrences: [ 0, UNBOUNDED ]
1424 capability: tosca.capabilities.Node
1425 node: aria.aws.nodes.Gateway
1426 relationship: aria.aws.relationships.RouteTableToGateway
1427 occurrences: [ 0, UNBOUNDED ]
1429 aria.aws.nodes.Interface:
1430 derived_from: tosca.nodes.network.Port
1432 use_external_resource:
1434 Indicate whether the resource exists or it should be created,
1435 true if you are bringing an existing resource, false if you want to create it.
1440 The AWS resource ID of the external resource, if use_external_resource is true.
1441 Otherwise it is an empty string.
1446 A dictionary of key/value pairs of tags you want to add.
1450 type: string # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
1453 Any parameters accepted by the create_network_interface operation.
1454 type: aria.aws.datatypes.NetworkInterfaceCreateParameters
1458 A dictionary of values to pass to authenticate with the AWS API.
1459 type: aria.aws.datatypes.Config
1464 implementation: cloudify-aws-plugin > cloudify_aws.ec2.eni.create
1467 type: aria.aws.datatypes.NetworkInterfaceCreateParameters
1470 implementation: cloudify-aws-plugin > cloudify_aws.ec2.eni.start
1472 implementation: cloudify-aws-plugin > cloudify_aws.ec2.eni.delete
1481 capability: tosca.capabilities.Node
1482 node: aria.aws.nodes.Instance
1483 relationship: aria.aws.relationships.ENIConnectedToInstance
1484 occurrences: [ 0, UNBOUNDED ]
1486 aria.aws.nodes.SecurityGroupRule:
1487 derived_from: tosca.nodes.Root
1489 use_external_resource:
1500 A list of rules of data type aria.aws.datatypes.SecurityGroupRule (see above).
1503 type: aria.aws.datatypes.SecurityGroupRule
1508 A dictionary of values to pass to authenticate with the AWS API.
1509 type: aria.aws.datatypes.Config
1511 - security_group_to_depend_on:
1512 capability: tosca.capabilities.Node
1513 node: aria.aws.nodes.SecurityGroup
1514 relationship: aria.aws.relationships.RuleDependsOnSecurityGroup
1515 occurrences: [ 0, UNBOUNDED ]
1516 - security_group_to_be_contained_in:
1517 capability: tosca.capabilities.Node
1518 node: aria.aws.nodes.SecurityGroup
1519 relationship: aria.aws.relationships.RuleContainedInSecurityGroup
1520 occurrences: [ 0, UNBOUNDED ]
1522 aria.aws.nodes.SecurityGroupRule.Multi:
1523 derived_from: aria.aws.nodes.SecurityGroupRule
1527 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.create_rule
1532 type: aria.aws.datatypes.SecurityGroupRule
1535 implementation: cloudify-aws-plugin > cloudify_aws.ec2.securitygroup.delete_rule
1540 type: aria.aws.datatypes.SecurityGroupRule
1545 aria.aws.relationships.ConnectedToElasticIP:
1546 derived_from: tosca.relationships.ConnectsTo
1550 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticip.associate
1552 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticip.disassociate
1554 aria.aws.relationships.InstanceConnectedToElasticIP:
1555 derived_from: aria.aws.relationships.ConnectedToElasticIP
1557 aria.aws.relationships.InstanceConnectedToKeypair:
1558 derived_from: tosca.relationships.ConnectsTo
1560 aria.aws.relationships.ConnectedToSecurityGroup:
1561 derived_from: tosca.relationships.ConnectsTo
1563 # The name of this relationship is not in CamelCase since in order to attach security group to an
1564 # instance using the Cloudify AWS plugin, the relationship between the instance and the security
1565 # group must be include the string 'instance_connected_to_security_group' in its name.
1566 aria.aws.relationships.instance_connected_to_security_group:
1567 derived_from: aria.aws.relationships.ConnectedToSecurityGroup
1569 aria.aws.relationships.InstanceConnectedToLoadBalancer:
1570 derived_from: tosca.relationships.ConnectsTo
1574 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.associate
1576 implementation: cloudify-aws-plugin > cloudify_aws.ec2.elasticloadbalancer.disassociate
1578 aria.aws.relationships.VolumeConnectedToInstance:
1579 derived_from: tosca.relationships.ConnectsTo
1583 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.associate
1594 implementation: cloudify-aws-plugin > cloudify_aws.ec2.ebs.disassociate
1605 aria.aws.relationships.SubnetContainedInVPC:
1606 derived_from: tosca.relationships.HostedOn
1608 aria.aws.relationships.RoutetableContainedInVPC:
1609 derived_from: tosca.relationships.HostedOn
1611 aria.aws.relationships.RoutetableAssociatedWithSubnet:
1612 derived_from: tosca.relationships.ConnectsTo
1616 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.associate_route_table
1618 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.disassociate_route_table
1620 aria.aws.relationships.RouteTableToGateway:
1621 derived_from: tosca.relationships.ConnectsTo
1625 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.create_route_to_gateway
1627 destination_cidr_block:
1629 Provide a specific value for the destination cidr block.
1630 If the target is an internet gateway, then this is not necessary.
1631 It will resolve to the cidr_block node property.
1632 Otherwise, you need to provide this value.
1636 implementation: cloudify-aws-plugin > cloudify_aws.vpc.routetable.delete_route_from_gateway
1638 aria.aws.relationships.GatewayConnectedToVPC:
1639 derived_from: tosca.relationships.ConnectsTo
1643 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.attach_gateway
1645 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.detach_gateway
1647 aria.aws.relationships.NetworkACLContainedInVPC:
1648 derived_from: tosca.relationships.HostedOn
1650 aria.aws.relationships.NetworkACLAssociatedWithSubnet:
1651 derived_from: tosca.relationships.ConnectsTo
1655 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.associate_network_acl
1657 implementation: cloudify-aws-plugin > cloudify_aws.vpc.networkacl.disassociate_network_acl
1659 aria.aws.relationships.RouteTableOfSourceVPCConnectedToTargetPeerVPC:
1660 derived_from: tosca.relationships.ConnectsTo
1663 pre_configure_target:
1664 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.create_vpc_peering_connection
1668 The 12 digit account ID that the target VPC belongs to.
1673 A list of aria.aws.datatypes.Route for assignment to the source Route Table.
1676 type: aria.aws.datatypes.Route
1678 post_configure_target:
1679 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.accept_vpc_peering_connection
1681 implementation: cloudify-aws-plugin > cloudify_aws.vpc.vpc.delete_vpc_peering_connection
1683 aria.aws.relationships.DHCPOptionsAssociatedWithVPC:
1684 derived_from: tosca.relationships.ConnectsTo
1688 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.associate_dhcp_options
1690 implementation: cloudify-aws-plugin > cloudify_aws.vpc.dhcp.restore_dhcp_options
1692 aria.aws.relationships.CustomerGatewayConnectedToVPNGateway:
1693 derived_from: tosca.relationships.ConnectsTo
1697 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.create_vpn_connection
1701 A list of static routes to add to this vpn_connection.
1702 The routes will be of type aria.aws.datatypes.Route.
1703 However, you can only provide the destination_cidr_block and a vpn_connection_id.
1706 type: aria.aws.datatypes.Route
1709 implementation: cloudify-aws-plugin > cloudify_aws.vpc.gateway.delete_vpn_connection
1711 aria.aws.relationships.InstanceContainedInSubnet:
1712 derived_from: tosca.relationships.HostedOn
1714 aria.aws.relationships.InstanceConnectedToSubnet:
1715 derived_from: tosca.relationships.ConnectsTo
1717 aria.aws.relationships.SecurityGroupContainedInVPC:
1718 derived_from: tosca.relationships.HostedOn
1720 aria.aws.relationships.ConnectedToSubnet: # ARIA NOTE: I don't see a use for this relationship
1721 derived_from: tosca.relationships.ConnectsTo
1723 aria.aws.relationships.ENIConnectedToInstance:
1724 derived_from: tosca.relationships.ConnectsTo
1728 implementation: cloudify-aws-plugin > cloudify_aws.ec2.eni.associate
1736 implementation: cloudify-aws-plugin > cloudify_aws.ec2.eni.disassociate
1744 aria.aws.relationships.InstanceConnectedToENI:
1745 derived_from: tosca.relationships.ConnectsTo
1747 aria.aws.relationships.SecurityGroupUsesRule:
1748 derived_from: tosca.relationships.DependsOn
1750 aria.aws.relationships.RuleDependsOnSecurityGroup:
1751 derived_from: tosca.relationships.DependsOn
1753 aria.aws.relationships.RuleContainedInSecurityGroup:
1754 derived_from: tosca.relationships.HostedOn