CloudFormation

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 parameters

The 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
ParameterDescriptionRequired
typeThe type of the Microtica built-in step.
Should always be cfn-component for this type of step.
Yes
cfn_templatePath to the CloudFormation template.Yes
schemaPath 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.

Create Component form

Click on Create Component button at the bottom.

Now the component is ready to be added in an environment and deployed in the cloud.