################################################################################## # 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.5.zip package_name: cloudify-aws-plugin package_version: '1.5' data_types: cloudify.datatypes.aws.Config: properties: aws_access_key_id: description: > The ID of your AWS ACCESS KEY. type: string required: false aws_secret_access_key: description: > The ID of your AWS SECRET KEY. type: string required: false region: description: > This is for backward compatibility with version 1.2. type: string required: false ec2_region_name: description: > The EC2 Region RegionName, such as us-east-1. (Not us-east-1b, which is an availability zone, or US East, which is a Region.) type: string required: false ec2_region_endpoint: description: > The endpoint for the given region. type: string required: false elb_region_name: description: > The ELB Region RegionName, such as us-east-1. (Not us-east-1b, which is an availability zone, or US East, which is a Region.) Required for aws_config for node type cloudify.aws.nodes.ElasticLoadBalancer. type: string required: false elb_region_endpoint: description: > The endpoint for the given ELB region. type: string required: false cloudify.datatypes.aws.Route: properties: route_table_id: description: > In most cases, leave this blank, because the route table is implicit from the node or relationship that is creating the route. type: string required: false destination_cidr_block: description: > This is the cidr_block that you want to route traffic for to the device. type: string required: true gateway_id: description: > The id of the gateway (either internet gateway, customer gateway, or vpn gateway). type: string required: false instance_id: description: > The id of the instance (if you are routing to a NAT instance). type: string required: false interface_id: description: > The id of an attached network interface. type: string required: false vpc_peering_connection_id: description: > The id of a VPC peering connection. type: string required: false cloudify.datatypes.aws.NetworkAclEntry: properties: rule_number: description: > Some number to identify this rule. Cannot duplicate an existing rule number. type: integer required: true protocol: description: > The Assigned Internet Protocol Number for the protocol (e.g. 1 is ICMP, 6 is TCP, and 17 is UDP). type: integer required: true rule_action: description: Either ALLOW or DENY. type: string required: true cidr_block: description: > The cidr_block. type: string required: true egress: description: > Whether the rule applies to egress traffic from the subnet. type: boolean default: false required: false icmp_type: description: > If in protocol you chose 1 for ICMP, the ICMP type, -1 for all ICMP types. type: integer required: false icmp_code: description: > If in protocol you chose 1 for ICMP, the ICMP code, -1 for all ICMP codes. type: integer required: false port_range_from: description: > The first port in the range. type: integer required: true port_range_to: description: > The last port in the range. type: integer required: true cloudify.datatypes.aws.SecurityGroupRule: properties: egress: description: > Whether the rule applies to egress traffic. type: boolean default: false required: false ip_protocol: description: > The Assigned Internet Protocol Number for the protocol. type: string required: false from_port: description: > The first port in the range. type: integer required: false to_port: description: > The last port in the range. type: integer required: false cidr_ip: description: > The cidr_block. type: string required: false src_group_id: description: > The security group ID. type: string required: false 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, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} name: description: > Optional field if you want to add a specific name to the instance. default: '' required: false image_id: description: > The ID of the AMI image in your Amazon account. type: string required: true instance_type: description: > The instance's size. type: string required: true use_password: default: false 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: {} required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.ec2.instance.create start: implementation: aws.cloudify_aws.ec2.instance.start inputs: start_retry_interval: description: Polling interval until the server is active in seconds type: integer default: 30 private_key_path: description: > Path to private key which matches the server's public key. Will be used to decrypt password in case the "use_password" property is set to "true" type: string default: '' stop: implementation: aws.cloudify_aws.ec2.instance.stop delete: implementation: aws.cloudify_aws.ec2.instance.delete cloudify.interfaces.validation: creation: implementation: aws.cloudify_aws.ec2.instance.creation_validation cloudify.aws.nodes.WindowsInstance: derived_from: cloudify.aws.nodes.Instance properties: use_password: default: true os_family: default: windows agent_config: type: cloudify.datatypes.AgentConfig default: port: 5985 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, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} domain: description: > Set this to 'vpc' if you want to use VPC. required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.ec2.elasticip.create delete: aws.cloudify_aws.ec2.elasticip.delete cloudify.interfaces.validation: creation: aws.cloudify_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, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} description: description: > The description field that is required for every security group that you create in Amazon. type: string required: true 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. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.ec2.securitygroup.create start: aws.cloudify_aws.ec2.securitygroup.start delete: aws.cloudify_aws.ec2.securitygroup.delete cloudify.interfaces.validation: creation: aws.cloudify_aws.ec2.securitygroup.creation_validation cloudify.aws.nodes.Volume: derived_from: cloudify.nodes.Volume properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} size: description: > The size of the volume in GB. type: string required: true zone: description: > A string representing the AWS availability zone. type: string required: true device: description: > The device on the instance type: string required: true aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.ec2.ebs.create inputs: args: default: {} start: aws.cloudify_aws.ec2.ebs.start delete: implementation: aws.cloudify_aws.ec2.ebs.delete inputs: args: default: {} cloudify.interfaces.validation: creation: aws.cloudify_aws.ec2.ebs.creation_validation cloudify.interfaces.aws.snapshot: create: implementation: aws.cloudify_aws.ec2.ebs.create_snapshot inputs: args: default: {} 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: > The AWS resource ID of the external resource, if use_external_resource is true. If use_external_resource is false, this will be the keys name and ID in AWS. If left blank, the plugin will set a name for you. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. 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 required: true aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.ec2.keypair.create delete: aws.cloudify_aws.ec2.keypair.delete cloudify.interfaces.validation: creation: aws.cloudify_aws.ec2.keypair.creation_validation cloudify.aws.nodes.ElasticLoadBalancer: derived_from: cloudify.nodes.LoadBalancer properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} elb_name: type: string description: > The mnemonic name associated with the new load balancer required: true zones: description: > zones (List of strings) - The names of the availability zone(s) to add. example: ['us-east-1b','us-east-1b'] required: true security_groups: description: > security_groups (list of strings) - The security groups assigned to your LoadBalancer within your VPC. example: ['sg-123456','sg-7891011'] FYI: security groups only supported with vpc default: [] required: false listeners: description: > listeners (List of tuples) - Each tuple contains three or four values, (LoadBalancerPortNumber, InstancePortNumber, Protocol, [SSLCertificateId]) where LoadBalancerPortNumber and InstancePortNumber are integer values between 1 and 65535, Protocol is a string containing either 'TCP', 'SSL', 'HTTP', or 'HTTPS'; SSLCertificateID is the ARN of a AWS IAM certificate, and must be specified when doing HTTPS. example: [[80, 8080, 'http'], [443, 8443, 'tcp']] required: true health_checks: description: > list of healthchecks (dicts) to use as criteria for instance health example: [{'target': 'HTTP:8080/health'}, {'target': 'HTTP:80/alive'}] default: [] required: false scheme: type: string description: > The type of a LoadBalancer. By default, Elastic Load Balancing creates an internet-facing LoadBalancer with a publicly resolvable DNS name, which resolves to public IP addresses. Specify the value internal for this option to create an internal LoadBalancer with a DNS name that resolves to private IP addresses. This option is only available for LoadBalancers attached to an Amazon VPC. default: '' required: false subnets: description: > list of strings - A list of subnet IDs in your VPC to attach to your LoadBalancer. example: default: [] required: false complex_listeners: description: > List of tuples - Each tuple contains four or five values, (LoadBalancerPortNumber, InstancePortNumber, Protocol, InstanceProtocol, SSLCertificateId). Where: LoadBalancerPortNumber and InstancePortNumber are integer values between 1 and 65535 Protocol and InstanceProtocol is a string containing either 'TCP', 'SSL', 'HTTP', or 'HTTPS' SSLCertificateId is the ARN of an SSL certificate loaded into AWS IAM default: [] required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.ec2.elasticloadbalancer.create start: aws.cloudify_aws.ec2.elasticloadbalancer.start delete: implementation: aws.cloudify_aws.ec2.elasticloadbalancer.delete cloudify.interfaces.validation: creation: implementation: aws.cloudify_aws.ec2.elasticloadbalancer.creation_validation cloudify.aws.nodes.VPC: derived_from: cloudify.nodes.Network properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} cidr_block: description: > The CIDR Block that you will split this VPCs subnets across. type: string required: true instance_tenancy: description: > Default or dedicated. type: string default: default required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.vpc.create_vpc start: aws.cloudify_aws.vpc.vpc.start delete: aws.cloudify_aws.vpc.vpc.delete cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.vpc.creation_validation cloudify.aws.nodes.Subnet: derived_from: cloudify.nodes.Subnet properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} cidr_block: description: > The CIDR Block that instances will be on. type: string required: true availability_zone: description: > The availability zone that you want your subnet in. default: '' required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.subnet.create_subnet start: aws.cloudify_aws.vpc.subnet.start_subnet delete: aws.cloudify_aws.vpc.subnet.delete_subnet cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.subnet.creation_validation cloudify.aws.nodes.Gateway: derived_from: cloudify.nodes.Root properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.gateway.creation_validation cloudify.aws.nodes.InternetGateway: derived_from: cloudify.aws.nodes.Gateway properties: cidr_block: description: > The cidr_block that you want this internet gateway to service. Default is for all internet traffic. default: '0.0.0.0/0' required: true interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.gateway.create_internet_gateway start: aws.cloudify_aws.vpc.gateway.start_internet_gateway delete: aws.cloudify_aws.vpc.gateway.delete_internet_gateway cloudify.aws.nodes.VPNGateway: derived_from: cloudify.aws.nodes.Gateway properties: type: description: > Type of VPN Connection. Only valid value currently is ipsec.1 default: ipsec.1 required: true availability_zone: description: > The Availability Zone where you want the VPN gateway. default: '' required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.gateway.create_vpn_gateway start: aws.cloudify_aws.vpc.gateway.start_vpn_gateway delete: aws.cloudify_aws.vpc.gateway.delete_vpn_gateway cloudify.aws.nodes.CustomerGateway: derived_from: cloudify.aws.nodes.Gateway properties: type: description: > Type of VPN Connection. Only valid value currently is ipsec.1 default: ipsec.1 required: true ip_address: description: > Internet-routable IP address for customers gateway. Must be a static address required: true bgp_asn: description: > Customer gateways Border Gateway Protocol (BGP) Autonomous System Number (ASN) required: true interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.gateway.create_customer_gateway start: aws.cloudify_aws.vpc.gateway.start_customer_gateway delete: aws.cloudify_aws.vpc.gateway.delete_customer_gateway cloudify.aws.nodes.ACL: derived_from: cloudify.nodes.Root properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} acl_network_entries: description: > A list of rules of data type cloudify.datatypes.aws.NetworkAclEntry (see above). default: [] required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.networkacl.create_network_acl start: aws.cloudify_aws.vpc.networkacl.start_network_acl delete: aws.cloudify_aws.vpc.networkacl.delete_network_acl cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.networkacl.creation_validation cloudify.aws.nodes.DHCPOptions: derived_from: cloudify.nodes.Root properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} domain_name: description: > A domain name. required: false domain_name_servers: description: > A list of up to four DNS servers. default: [] required: false ntp_servers: description: > A list of up to four NTP servers. default: [] required: false netbios_name_servers: description: > A list of up to four netbios servers. default: [] required: false netbios_node_type: description: > netbios type. recommended two. default: '' required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: aws.cloudify_aws.vpc.dhcp.create_dhcp_options start: aws.cloudify_aws.vpc.dhcp.start_dhcp_options delete: aws.cloudify_aws.vpc.dhcp.delete_dhcp_options cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.dhcp.creation_validation cloudify.aws.nodes.RouteTable: derived_from: cloudify.nodes.Root properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' required: true tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.vpc.routetable.create_route_table inputs: routes: description: > A list of cloudify.datatypes.aws.Route. default: [] start: aws.cloudify_aws.vpc.routetable.start_route_table delete: aws.cloudify_aws.vpc.routetable.delete_route_table cloudify.interfaces.validation: creation: aws.cloudify_aws.vpc.routetable.creation_validation cloudify.aws.nodes.Interface: derived_from: cloudify.nodes.Port properties: use_external_resource: description: > Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it. type: boolean default: false required: true resource_id: description: > The AWS resource ID of the external resource, if use_external_resource is true. Otherwise it is an empty string. type: string default: '' tags: description: > A dictionary of key/value pairs of tags you want to add. default: {} parameters: description: > Any parameters accepted by the create_network_interface operation. default: {} required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config required: false interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.ec2.eni.create inputs: args: default: {} start: aws.cloudify_aws.ec2.eni.start delete: implementation: aws.cloudify_aws.ec2.eni.delete inputs: args: default: {} cloudify.aws.nodes.SecurityGroupRule: derived_from: cloudify.nodes.Root properties: use_external_resource: type: boolean default: False resource_id: description: > The resource ID. type: string default: '' required: false rule: description: > A list of rules of data type cloudify.datatypes.aws.SecurityGroupRule (see above). default: [] required: false aws_config: description: > A dictionary of values to pass to authenticate with the AWS API. type: cloudify.datatypes.aws.Config cloudify.aws.nodes.SecurityGroupRule.Multi: derived_from: cloudify.aws.nodes.SecurityGroupRule interfaces: cloudify.interfaces.lifecycle: create: implementation: aws.cloudify_aws.ec2.securitygroup.create_rule inputs: args: default: {} delete: implementation: aws.cloudify_aws.ec2.securitygroup.delete_rule inputs: args: default: {} relationships: cloudify.aws.relationships.connected_to_elastic_ip: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: aws.cloudify_aws.ec2.elasticip.associate unlink: aws.cloudify_aws.ec2.elasticip.disassociate cloudify.aws.relationships.instance_connected_to_elastic_ip: derived_from: cloudify.aws.relationships.connected_to_elastic_ip cloudify.aws.relationships.instance_connected_to_keypair: derived_from: cloudify.relationships.connected_to cloudify.aws.relationships.connected_to_security_group: derived_from: cloudify.relationships.connected_to cloudify.aws.relationships.instance_connected_to_security_group: derived_from: cloudify.aws.relationships.connected_to_security_group cloudify.aws.relationships.instance_connected_to_load_balancer: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: aws.cloudify_aws.ec2.elasticloadbalancer.associate unlink: aws.cloudify_aws.ec2.elasticloadbalancer.disassociate cloudify.aws.relationships.volume_connected_to_instance: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.ec2.ebs.associate inputs: args: default: {} force: default: False unlink: implementation: aws.cloudify_aws.ec2.ebs.disassociate inputs: args: default: {} force: default: False cloudify.aws.relationships.subnet_contained_in_vpc: derived_from: cloudify.relationships.contained_in cloudify.aws.relationships.routetable_contained_in_vpc: derived_from: cloudify.relationships.contained_in cloudify.aws.relationships.routetable_associated_with_subnet: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.vpc.routetable.associate_route_table unlink: implementation: aws.cloudify_aws.vpc.routetable.disassociate_route_table cloudify.aws.relationships.route_table_to_gateway: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.vpc.routetable.create_route_to_gateway inputs: destination_cidr_block: description: > Provide a specific value for the destination cidr block. If the target is an internet gateway, then this is not necessary. It will resolve to the cidr_block node property. Otherwise, you need to provide this value. default: '' unlink: implementation: aws.cloudify_aws.vpc.routetable.delete_route_from_gateway cloudify.aws.relationships.gateway_connected_to_vpc: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: aws.cloudify_aws.vpc.gateway.attach_gateway unlink: aws.cloudify_aws.vpc.gateway.detach_gateway cloudify.aws.relationships.network_acl_contained_in_vpc: derived_from: cloudify.relationships.contained_in cloudify.aws.relationships.network_acl_associated_with_subnet: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: aws.cloudify_aws.vpc.networkacl.associate_network_acl unlink: aws.cloudify_aws.vpc.networkacl.disassociate_network_acl cloudify.aws.relationships.route_table_of_source_vpc_connected_to_target_peer_vpc: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: preconfigure: implementation: aws.cloudify_aws.vpc.vpc.create_vpc_peering_connection inputs: target_account_id: description: > The 12 digit account ID that the target VPC belongs to. default: '' routes: description: > A list of cloudify.datatypes.aws.Route for assignment to the source Route Table. default: [] postconfigure: implementation: aws.cloudify_aws.vpc.vpc.accept_vpc_peering_connection unlink: implementation: aws.cloudify_aws.vpc.vpc.delete_vpc_peering_connection cloudify.aws.relationships.dhcp_options_associated_with_vpc: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.vpc.dhcp.associate_dhcp_options unlink: implementation: aws.cloudify_aws.vpc.dhcp.restore_dhcp_options cloudify.aws.relationships.customer_gateway_connected_to_vpn_gateway: derived_from: cloudify.relationships.connected_to target_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.vpc.gateway.create_vpn_connection inputs: routes: description: > A list of static routes to add to this vpn_connection. The routes will be of type cloudify.datatypes.aws.Route. However, you can only provide the destination_cidr_block and a vpn_connection_id. default: [] unlink: implementation: aws.cloudify_aws.vpc.gateway.delete_vpn_connection cloudify.aws.relationships.instance_contained_in_subnet: derived_from: cloudify.relationships.contained_in cloudify.aws.relationships.instance_connected_to_subnet: derived_from: cloudify.relationships.connected_to cloudify.aws.relationships.security_group_contained_in_vpc: derived_from: cloudify.relationships.contained_in cloudify.aws.relationships.connected_to_subnet: derived_from: cloudify.relationships.connected_to cloudify.aws.relationships.eni_connected_to_instance: derived_from: cloudify.relationships.connected_to source_interfaces: cloudify.interfaces.relationship_lifecycle: establish: implementation: aws.cloudify_aws.ec2.eni.associate inputs: args: default: {} unlink: implementation: aws.cloudify_aws.ec2.eni.disassociate inputs: args: default: {} cloudify.aws.relationships.instance_connected_to_eni: derived_from: cloudify.relationships.connected_to cloudify.aws.relationships.security_group_uses_rule: derived_from: cloudify.relationships.depends_on cloudify.aws.relationships.rule_depends_on_security_group: derived_from: cloudify.relationships.depends_on cloudify.aws.relationships.rule_contained_in_security_group: derived_from: cloudify.relationships.contained_in