We want to show people how to use Deployment Update to modify existing networks.
Currently, we have this blueprint: https://github.com/cloudify-examples/aws-example-network. There are two files, "simple-blueprint.yaml" and "update-blueprint.yaml". Respectively, these are two states for a single deployment.
You can create your deployment first with "simple-blueprint.yaml". You will have these new resources:
A vpc.
An internet_gateway.
A public_subnet.
A private_subnet.
A public_subnet_routetable.
A private_subnet_routetable.
A route_public_subnet_internet_gateway.
Then you can update the deployment with "update-blueprint.yaml". You will have the following new resources.
A nat_gateway_ip - created with the update-blueprint.yaml.
A nat_gateway - created with the update-blueprint.yaml.
A route_private_subnet_nat_gateway - created with the update-blueprint.yaml.
We want to add a new stage to this blueprint - to add a VPC Connection. So the user will first run "simple-blueprint.yaml". Then run an update with "update-blueprint.yaml". And then run "add-vpc-peering-blueprint.yaml".
This should be accomplished by adding a new VPC to the network, and then connecting this and the old VPC with node templates of these types: cloudify.nodes.aws.ec2.VpcPeeringRequest and cloudify.nodes.aws.ec2.VpcPeeringAcceptRequest. There is an example that illustrates these types in a new blueprint: https://github.com/cloudify-incubator/cloudify-awssdk-plugin/blob/master/examples/ec2-vpc-feature-demo/blueprint.yaml.