Infrastructure as Code Jobs
The following topics describe job attributes that work with cloud computing platforms and services:
Ansible AWX Job
Ansible AWX jobs enable you to manage Ansible playbooks, inventories, and job scheduling.
To create an Ansible AWX job, see Creating a Job. For more information, see Control-M for Ansible AWX.
The following table describes the Ansible AWX job parameters:
| Attribute | Action | Description | 
|---|---|---|
| Connection Profile | All | Determines the authorization credentials that are used to connect Control-M to Ansible AWX, as described in CI/CD Connection Profiles. | 
| Action | NA | Determines one of the following actions to perform: 
 | 
| Job Template Name | Launch Job Template | Determines the name of an Ansible AWX job template that defines how a particular playbook is executed. If there are several templates with the same name, the job uses the first template found. | 
| Job Template ID | Launch Job Template by ID | Determines the ID of an Ansible AWX job template that defines how a particular playbook is executed. | 
| Workflow Template Name | 
 | Determines the name of an Ansible AWX workflow template that defines a sequence of job templates and their relationships. | 
| Workflow Template ID | Launch Workflow Job Template by ID | Determines the ID of an Ansible AWX workflow template that defines a sequence of job templates and their relationships. | 
| Project Name | Sync Project | Determines the name of an Ansible AWX project that contains Ansible playbooks and related files. If there are several projects with the same name, the job uses the first project found. | 
| Project ID | Sync Project by ID | Determines the ID of an Ansible AWX project that contains Ansible playbooks and related files. | 
| Inventory | 
 | Determines a group of hosts that are defined in Ansible AWX that is the target environment for job execution. | 
| Inventory Source | Sync Inventory Source | Determines a cloud provider or other source of hosts that Ansible AWX assigns to an inventory. | 
| Parameters | 
 | Defines job template launch parameters such as inventory, credentials, job variables, and limit options to define how the playbook runs and which host it targets. Format: {"<param1>":<value1>,"<param2>":<value2>} (JSON format) Example: Copy
                                                                      | 
| Output Logs | 
 | Determines whether the job returns a detailed execution record to Control-M. | 
| Status Polling Frequency | All | Determines the number of seconds to wait before checking the job status. Default: 15 | 
| Failure Tolerance | All | Determines the number of times to check the job status before the job ends Not OK. Default: 15 | 
AWS CloudFormation Job
AWS CloudFormation enables you to create, configure, test, and manage your AWS infrastructure, which is a collection of AWS services and resources.
To create an AWS CloudFormation job, see Creating a Job. For more information about this plug-in, see Control-M for AWS CloudFormation.
The following table describes the AWS CloudFormation job attributes.
| Attribute | Description | 
|---|---|
| Connection Profile | Determines the authorization credentials that are used to connect Control-M to AWS CloudFormation, as described in AWS CloudFormation Connection Profile Parameters. Rules: 
 | 
| Action | Determines one of the following CloudFormation actions to perform: 
 | 
| Stack Name | Defines a unique stack name. A stack is a collection of AWS resources, such as a web server or database. | 
| Stack Parameters | Determines one of the following templates to create or update: 
 A template defines the properties of your AWS infrastructure. | 
| Template URL | Defines the URL for a preexisting template. Rules: 
 
 | 
| Template Body | Defines the template in JSON or YAML format. YAML: Copy
                                                                          | 
| Role ARN | Defines the Amazon Resource Name (ARN) of the AWS IAM Role that CloudFormation runs as to create or update a stack. An ARN is a standardized AWS resource address. The AWS IAM role must be granted read and write privileges to create or update any of the AWS resources that are in the stack. arn:aws:iam::12345678910:role/AWS-QuickSetup-StackSet-Local-AdministrationRole | 
| Capabilities Type | Determines the capabilities of your template and stack. Valid Values: 
 Default: Capability IAM | 
| Enable Termination Protection | Determines whether to prevent deletion of this stack by other users. | 
| On Failure | Determines one of the following actions to take when the job ends Not OK. Valid Values: 
 Default: Do Nothing | 
| Status Polling Frequency | Determines the number of seconds to wait before checking the job status. Default: 15 | 
| Failure Tolerance | Determines the number of times to check the job status before the job ends Not OK. Default: 2 | 
Azure Resource Manager Job
Azure Resource Manager enables you to create, configure, test, and manage your Azure resources infrastructure.
To create an Azure Resource Manager job, see Creating a Job. For more information about this plug-in, see Control-M for Azure Resource Manager.
The following table describes the Azure Resource Manager job attributes.
| Attribute | Description | 
|---|---|
| Connection Profile | Determines the authorization credentials that are used to connect Control-M to Azure Resource Manager, as described in Azure Resource Manager Connection Profile Parameters. Rules: 
 | 
| Resource Group Name | Defines a unique resource group name. A resource group is a collection of Azure resources, such as a virtual machine or database, that share the same permissions. | 
| Action | Determines one of the following actions to perform: 
 | 
| Deployment Name | Defines the deployment name. | 
| Deployment Properties | Defines an API request, in JSON format, that enables you to add or update resources in a resource group. Update Deployment: Copy
                                                                          | 
| Failure Tolerance | Determines the number of times to check the job status before the job ends Not OK. Default: 2 | 
| Status Polling Frequency | Determines the number of seconds to wait before checking the job status. Default: 15 | 
GCP Deployment Manager Job
GCP Deployment Manager enables you to create, configure, test, and manage your GCP resources infrastructure.
To create a GCP Deployment Manager job, see Creating a Job. For more information about this plug-in, see Control-M for GCP Deployment Manager.
The following table describes the GCP Deployment Manager job attributes.
| Attribute | Description | 
|---|---|
| Connection Profile | Determines the authorization credentials that are used to connect Control-M to GCP Deployment Manager, as described in GCP Deployment Manager Connection Profile Parameters. Rules: 
 | 
| Project ID | Defines the identifier of the GCP project where the job runs. A project is a set of configuration settings that define the resources the jobs utilize and how they interact with GCP. | 
| Action | Determines one of the following actions to perform: 
 A deployment is a collection of API resources, such as a Google Compute Engine or GCP Cloud SQL instance. | 
| Deployment Name | Defines a unique deployment name. | 
| YAML Config Content | Defines a configuration, in YAML format, which enables you to add or update resources in a deployment. You must use the YAML Minifier Tool to remove all unnecessary characters from your configuration code. Copy
                                                                          | 
| Status Polling Frequency | Determines the number of seconds to wait before checking the job status. Default: 10 | 
| Tolerance | Determines the number of times to check the job status before the job ends Not OK. Default: 3 | 
Terraform Job
Terraform is an open-source Infrastructure as Code (IaC) tool that enables you to create, configure, test, and manage your infrastructure on multiple platforms in a declarative way, using configuration files that describe the desired state of your infrastructure.
To create a Terraform job, see Creating a Job. For more information about this plug-in, see Control-M for Terraform.
The following table describes the Terraform job attributes:
| Attribute | Action | Description | 
|---|---|---|
| Connection Profile | 
 | Defines the name of a Connection Profile to use to connect Control-M to Terraform, as described in Terraform Connection Profile Parameters. Rules: Case Sensitive | 
| Action | 
 | Determines one of the following Terraform actions to perform: 
 | 
| Workspace Params | Create Workspace | Defines the details of the workspace to create, in JSON format. Copy
                                                                         Characters: maximum of 4,000 | 
| Workspace Name | 
 | Defines a name for the workspace where you want to perform the action. | 
| Run Name | Run Workspace | Defines the name of the workspace run in Terraform. | 
| Parameters | Run Workspace | Defines the parameters for this workspace run, in JSON format. Copy
                                                                         For no parameters, type {}. | 
| Variable | Create Variable | Defines the details of the variable in the Terraform workspace, in JSON format. Copy
                                                                          | 
| Status Polling Frequency | All Actions | (Optional) Determines the number of seconds to wait before checking the job status. Default: 20 | 
| Failure Tolerance | All Actions | Determines the number of times to check the job status before the job ends Not OK. Default: 2 | 
