CloudFormationMultiCloud

Add support for Azure and Google Cloud resources in CloudFormation.

MIT License

Stars
6

CloudFormation Multi-Cloud

An experiment to add Azure and Google Cloud resource support to CloudFormation.

CAUTION: This project is currently in alpha stages. Some components may not work as expected and fields may not be validated. Currently, all fields within the example stacks are required.

Installation

Click the above link to deploy the stack which is required to deploy the Transform and Custom Resource handler. You will be asked to input your Azure app credentials and Google JSON server credentials.

If you prefer, you can also manually upsert the custom_resource.yaml stack from source and compile your own copy of the Lambda source. Please note that if you do this, the Python requirements must be vendored from within an Amazon Linux machine.

Usage

Once the handler stack is created, you may use the below resources by adding the MultiCloud transform to your stack. This will transform your input template to convert the Azure/Google Cloud resources into Custom Resources that will handle the lifecycle within that cloud provider.

The following resources are supported (click the link to see examples):

Functionality AWS Resource Azure Resource Google Cloud Resource
Logical Group - Azure::Resource::ResourceGroup -
Virtual Network AWS::EC2::VPC Azure::Network::VirtualNetwork GoogleCloud::Compute::Network
Subnet AWS::EC2::Subnet Azure::Network::Subnet GoogleCloud::Compute::Subnetwork
Network Interface AWS::EC2::NetworkInterface Azure::Network::NetworkInterface -
Virtual Machine AWS::EC2::Instance Azure::Compute::VirtualMachine GoogleCloud::Compute::Instance
Queue AWS::SQS:Queue Azure::Storage::Queue GoogleCloud::PubSub::Topic
Object Bucket AWS::S3::Bucket Azure::Storage::StorageAccount GoogleCloud::Storage::Bucket