Codification

Codifying assets and creating reusable code.

Asset codification

Asset codification is the process of turning an unmanaged asset into a managed one by codifying the configuration of resources. By using IaC, such as Terraform, to manage the asset, organizations can ensure that the asset is consistently provisioned and maintained in the desired state, improving reliability and reducing the risk of errors.

What is smart codification?

Smart codification is the process of codifying assets and creating reusable code.

The Firefly codification feature includes the option to create a Terraform module, which can be stored in a Git repository and used to create additional instances. This makes it easy to manage and reuse infrastructure configurations.

To make changes to the infrastructure, organizations can create pull requests to add IaC to their resources via their integrated version control system. This allows teams to collaborate on changes to the infrastructure, ensuring that everyone is aware of the current state and making it easier to revert to previous versions if necessary.

Firefly offers six codification options:

  • Explicit Values Creates code for one or multiple assets with all the explicit values.

  • Data Sources Create code with data source instead of explicit values where applicable. This is useful to increase coverage of unmanaged resources in an existing account.

  • Codify Unmanaged Dependencies Creates code that codifies all unmanaged dependencies with explicit values and resource IDs.

  • Codify All Dependencies Creates code for the asset and all its dependencies, including codified ones. For unmanaged dependencies, the data source configuration is used rather than the explicit resource ID.

  • Module Call Create code for the asset and all of its dependencies in the private or public module you specify. The module is used to create additional instances of the asset. The module is stored in the repository that holds your Terraform files. (If your public module is not included in Terraform AWS or GCP modules, contact us, and we will create it for you).

  • Create Module Creates a reusable module for any type of asset and its dependencies. The module can be created either as a private or public module in the Terraform Registry. After creating the module, you can store it in your Git and import the assets. You can deploy this module in any region or account.

Managed and unmanaged assets

Using IaC ensures that your infrastructure and its configurations are maintained and distributed by the use of code. For more information on how Firefly generates code for your unmanaged assets, go to codifying assets.

Last updated