Adding AWS Resources to a Cloud Gem
Adding AWS Resources to a Cloud Gem
Cloud Canvas cloud gems can be used out of the box, without interacting with the code and the Cloud Gem Framework that powers them. However, you might be interested in modifying existing cloud gems and creating your own cloud gems, possibly for distribution to others. If so, you might need to add support for additional AWS CloudFormation types beyond the ones natively supported by Cloud Canvas. This topic provides information on how to do that.
Cloud Canvas gems provide AWS CloudFormation templates that specify the AWS resources that the gem requires. AWS CloudFormation templates support AWS resource types, which are prefixed with AWS::
. They also support AWS::CloudFormation::CustomResource
custom resource types or any resource type prefixed with Custom::
.
The template file for a cloud gem is located at lumberyard_version\dev\Gems\gem_name\AWS\resource_template.json
. The resource_template.json
file is a specialized version of a AWS CloudFormation template that provides metadata specific to Cloud Canvas.
While AWS CloudFormation templates support a large catalog of AWS resource types, the templates for Cloud Canvas gems are more limited in scope. When creating a Cloud Canvas gem, you have the following options:
Use one of the subset of types in the
AWS::
namespace that are directly supported by Cloud Canvas (no additional work required).Add support for
AWS::
types not already supported by Cloud Canvas.Add your own
Custom::*
resource types that execute custom Lambda function code when instances of that type are created, modified or deleted.Custom resources are a good way to integrate your in-house services and access AWS services that are not directly supported.
Topics