Package a CloudFormation template in a deployable Microtica Component.
To use this step, you would need to have an existing CloudFormation template hosted on your Git account.
Input parametersThe parameters you define in the CloudFormation template will automatically become an input parameters of the component. You can set the parameter values from Microtica Portal.
Read more about Microtica Components here.
#Syntax
YAML
steps:
step-name:
type: cfn-component
cfn_template: path/to/template.json
schema: path/to/schema.json
Parameter | Description | Required |
---|---|---|
title | The display name of the step. | No |
type | The type of the Microtica built-in step. Should always be cfn-component for this type of step. | Yes |
cfn_template | Path to the CloudFormation template. | Yes |
schema | Path to the JSON schema file. Used to define custom input/output parameters and validation for the component. If not provided, CloudFormation parameters will be considered as component’s input parameters. | No |
#Package a template into Component
In the following example we define a pipeline that pulls the code from a Git repository then packages a CloudFormation template into a Component.
We just need to specify the path to the template and everything else will be handled by cfn-component built-in step.
microtica.yaml
steps:
Clone:
title: Clone my source code from Git
type: git-clone
Package:
title: Package my CFN template into Microtica Component
type: cfn-component
cfn_template: template.json
Create a pipeline with the above spec and trigger the initial pipeline run.
Now we need to create a component in Microtica Portal and connect it with the pipeline you just created.
To create a component click on Components under Infrastructure from the side bar.
Enter a name, type and description for the component. Then select the pipeline from the dropdown and select the step of type cfn-template, in our case that’s the Package step.

Click on Create Component button at the bottom.
Now the component is ready to be added in an environment and deployed in the cloud.