Cloud Computing Jobs
The following topics describe job types for cloud computing platforms and services:
Job:AWS Batch
AWS Batch enables you to manage and execute batch computing workloads in AWS.
To deploy and run an AWS Batch job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the AWS Batch plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following examples show how to define an AWS Batch job:
-
An AWS Batch job with basic parameters:
Copy"AWS_Batch_Job_basic":
{
"Type": "Job:AWS Batch",
"ConnectionProfile": "AWS_BATCH",
"Use Advanced JSON Format": "unchecked",
"Job Name": "job1",
"Job Definition and Revision": "ksu-batch-job-definition:1",
"Job Queue": "ksu-batch-job-queue",
"Container Overrides Command": "[\"echo\", \"Hello, from Control-M\"]",
"Job Attempts": "2",
"Execution Timeout": "65",
"Status Polling Frequency": "20"
} -
An AWS Batch job with various job parameters that are submitted in a JSON body:
Copy"AWS_Batch_Job_advanced":
{
"Type": "Job:AWS Batch",
"ConnectionProfile": "AWS_BATCH",
"Use Advanced JSON Format": "checked",
"JSON Format": "{\"containerOverrides\":{\"command\":[\"echo\",\"Hello, from Control-M\"],\"resourceRequirements\":[{\"type\":\"VCPU\",\"value\":\"2\"}]},\"jobDefinition\": \"ctm-batch-jobdefinition:1\",\"jobName\": \"job1\",\"jobQueue\": \"ctm-batch-job-queue\",\"timeout\": {\"attemptDurationSeconds\": 70}}",
"Status Polling Frequency": "20"
}
The following table describes the AWS Batch job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Determines the ConnectionProfile:AWS Batch name that connects Control-M to AWS Batch. |
Use Advanced JSON Format |
Determines whether you supply your own JSON parameters in the JSON Format parameter. Values:
Default: unchecked |
JSON Format |
Defines the parameters for the batch job, in JSON format, that enable you to control how the job executes. For a description of this JSON syntax, see the description of SubmitJob in the AWS Batch API Reference. This JSON body replaces the use of all other parameters described below, except for Status Polling Frequency: Copy
|
Job Name |
Defines the name of the batch job. |
Job Definition and Revision |
Determines which predefined job definition and version number (revision) is applied to the job, as follows:
ctm-batch-job-definition:3 |
Job Queue |
Determines the job queue, which stores your batch job. |
Container Overrides Command |
(Optional) Defines a command, in JSON format, that overrides the specified command in the job definition. |
Job Attempts |
(Optional) Determines the number of times to retry a job run, which overrides the number of retry attempts determined in the job definition. Valid Values: 1–10 |
Execution Timeout |
(Optional) Determines the number of seconds to wait before a timeout occurs in a batch job, which overrides the timeout defined in the job definition. |
Status Polling Frequency |
Determines the number of seconds to wait before checking the job status. Default: 20 |
Job:AWS:Batch (Deprecated)
This job type is deprecated. Use job type Job:AWS Batch. For migration information, see Control-M for AWS Plug-in Migration Tool.
AWS Batch enables you to manage and execute batch computing workloads in AWS.
To deploy and run this type of AWS job, ensure that you have completed the following:
-
Installed the Application Pack, which includes the Control-M for AWS plug-in.
-
Created a connection profile, as described in ConnectionProfile:AWS (Deprecated).
The following example shows how to define an AWS Batch job:
"AwsBatchJob":
{
"Type": "Job:AWS:Batch",
"ConnectionProfile": "AWS_CONNECTION",
"JobName": "batchjob1",
"JobDefinition": "jobDef1",
"JobDefinitionRevision": "3",
"JobQueue": "queue1",
"AWSJobType": "Array",
"ArraySize": "100",
"DependsOn":
{
"DependencyType": "Standard",
"JobDependsOn": "job5"
},
"Command": [ "ffmpeg", "-i" ],
"Memory": "10",
"vCPUs": "2",
"JobAttempts": "5",
"ExecutionTimeout": "60",
"AppendLog": false
}
The following table describes the AWS Batch job parameters.
Parameter |
Description |
---|---|
JobName |
Defines the name of the batch job. |
JobDefinition |
Defines the job definition to use. |
JobDefinitionRevision |
Defines the job definition revision. |
JobQueue |
Defines the queue to which the job is submitted. |
AWSJobType |
Determines one of the following job types:
|
ArraySize |
(Array job type) Determines the number of items in the array. Valid Values: 2–10,000 |
DependsOn |
Defines parameters that determine a job dependency. |
DependencyType |
(Array job type) Determines one of the following dependency types:
|
JobDependsOn |
Defines the job ID that the batch job depends upon. This parameter is mandatory for the following dependencies:
|
Command |
Defines a command to send to the container that overrides the default command from the Docker image or the job definition. |
Memory |
Defines the memory reserved for the job, in megabytes. Minimum Value: 4 |
vCPUs |
Defines the number of vCPUs to reserve for the container. |
JobAttempts |
Determines the number of retry attempts. Valid Values: 1–10 |
ExecutionTimeout |
Defines the timeout duration in seconds. |
AppendLog |
Determines whether to add the job log to the output. Values:
Default: true |
Job:AWSEC2
AWS Elastic Compute Cloud (EC2) enables you to create virtual machines in the Amazon cloud-computing platform.
To deploy and run an AWS EC2 job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the AWS EC2 plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define an AWS EC2 job.
"AWSEC2_create":
{
"Type": "Job:AWSEC2",
"ConnectionProfile": "AWSEC2",
"Operations": "Create",
"Placement Availability Zone": "us-west-2c",
"Instance Type": "m1.small",
"Subnet ID": "subnet-00aa899a7db25494d",
"Key Name": "ksu-aws-ec2-key-pair",
"Get Instances logs": "unchecked"
}
The following table describes the AWS EC2 job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:AWSEC2 name that connects Control-M to AWS EC2 Virtual Machine. |
Operations |
Determines one of the following operations to perform on the AWS EC2 Virtual Machine:
|
Launch Template ID |
Defines the template to use to create a VM from a template. |
Instance ID |
Defines the name of the VM instance where you want to run the operation. This parameter is available for all operations except for the Create operations. |
Instance Name |
Defines the name of a new VM instance for Create operations. |
Placement Availability Zone |
Determines which AWS EC2 zone to use for a Create operation. |
Instance Type |
Determines the software requirements of the host computer when you create a new AWS EC2 Virtual Machine. |
Subnet ID |
Defines the Subnet ID that is required to launch the instance in a Create operation. |
Key Name |
Defines the security credential key set for a Create operation. |
Image ID |
Defines the ID of the Amazon Machine Image (AMI) that is required to launch the instance in a Create operation. |
Number of copies |
Determines the number of copies of the VM to create in a Create operation. Default: 1 |
Get Instance logs |
Determines whether to display logs from the AWS EC2 instance at the end of the job output. This parameter is available for all operations except for the Terminate operation. Values:
Default: unchecked |
Verification Poll Interval |
Determines the number of seconds to wait before job status verification. Default: 15 |
Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Job:AWS Lambda
AWS Lambda is a cloud compute service that enables you to execute code in multiple computer languages on a virtual cluster.
To deploy and run an AWS Lambda job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the AWS Lambda plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define an AWS Lambda job.
"AWS Lambda_Job_2":
{
"Type": "Job:AWS Lambda",
"ConnectionProfile": "LAMBDA",
"Function Name": "MyTestFunction",
"Function Version": "1",
"Parameters": "{\"action\":\"increment\",\"number\": 3}",
"Append Log to Output": "checked"
}
The following table describes the AWS Lambda job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:AWS Lambda name that connects Control-M to AWS Lambda. |
Function Name |
Defines the name of the predefined Lambda function that is executed. |
Function Version |
Defines the version of the named Lambda function that is executed. Default: $LATEST |
Parameters |
Defines the parameters for the AWS Lambda job, in JSON format, that enable you to control how the job executes, as shown in the following example: Copy
For no parameters, type {}. |
Append Log to Output |
(Optional) Determines whether to add the log to the job output. Values:
Default: checked |
Job:AWS:Lambda (Deprecated)
This job type is deprecated. Use job type Job:AWS Lambda. For migration information, see Control-M for AWS Plug-in Migration Tool.
AWS Lambda enables you to execute code on a virtual cluster.
To deploy and run this type of AWS job, ensure that you have completed the following:
-
Installed the Application Pack, which includes the Control-M for AWS plug-in.
-
Created a connection profile, as described in ConnectionProfile:AWS (Deprecated).
The following example shows how to define an AWS Lambda job:
"AwsLambdaJob":
{
"Type": "Job:AWS:Lambda",
"ConnectionProfile": "AWS_CONNECTION",
"FunctionName": "LambdaFunction",
"Version": "1",
"Payload" : "{\"myVar\" :\"value1\" \\n\"myOtherVar\" : \"value2\"}"
"AppendLog": true
}
The following table describes the AWS Lambda job parameters.
Parameter |
Description |
---|---|
FunctionName |
Defines the Lambda function to execute. |
Version |
(Optional) Defines the Lambda function version. |
Payload |
(Optional) Defines the Lambda function payload, in JSON format. Invalid Characters: Special characters. |
AppendLog |
Determines whether to add the log to the job’s output. Values:
Default: true |
Job:Azure Batch Accounts
Azure Batch Accounts enables you to efficiently execute large-scale, parallel, computer-intensive tasks in the cloud.
To deploy and run an Azure Batch Accounts job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the Azure Batch Accounts plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define an Azure Batch Accounts job:
"Azure Batch Accounts_Job_2":
{
"Type": "Job:Azure Batch Accounts",
"ConnectionProfile": "AZURE_BATCH",
"Batch Job ID": "abc-jobid",
"Task ID Prefix": "ctm",
"Task Command Line": "cmd /c echo hello from Control-M",
"Max Wall Clock Time": "Custom",
"Max Wall Time Digits": "3",
"Max Wall Time Unit": "Minutes",
"Max Task Retry Count": "Custom",
"Retry Number": "3",
"Retention Time": "Custom",
"Retention Time Digits": "4",
"Retention Time Unit": "Days",
"Append Log to Output": "checked",
"Status Polling Interval": "20"
}
The following table describes the Azure Batch Accounts job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:Azure Batch Accounts name that connects Control-M to Azure Batch Accounts. |
Batch Job ID |
Defines the name of the Batch Account Job created in Azure Portal. |
Task ID Prefix |
Defines a prefix string to append to the task ID. |
Task Command Line |
Defines the command line that runs your application or script on the compute node. The task is added to the job at runtime. |
Max Wall Clock Time |
Determines one of the following types of time limits for the job run:
Default: Unlimited |
Max Wall Time Digits |
Defines the number (of the specified time unit) for a custom maximum time limit. Default: 1 |
Max Wall Time Unit |
Determines the time units for a custom maximum time limit:
Default: Minutes |
Max Task Retry Count |
Determines the maximum number of times to rerun a failed task:
Default: None |
Retry Number |
Determines the number of retries for a custom task retry count. Default: 1 |
Retention Time |
Determines one of the following options for a minimum period of time for retention of the Task directory of the batch job:
Default: Unlimited |
Retention Time Digits |
Determines the number (of the specified time unit) for a custom retention period. Default: 1 |
Retention Time Unit |
Determines one of the following time units for a custom retention period:
Default: Hours |
Append Log to Output |
Determines whether to add task stdout.txt content to the plug-in job output. Values:
Default: checked |
Status Polling Interval |
Determines the number of seconds to wait before checking the status of the job. Default: 20 |
Job:Azure:BatchAccount
Azure Batch Account enables you to manage and execute batch computing workloads in Azure.
To deploy and run this type of Azure job, ensure that you have completed the following:
-
Installed the Application Pack, which includes the Control-M for Azure plug-in.
-
Created a connection profile, as described in ConnectionProfile:Azure.
BMC recommends that you use the newer job type, Job:Azure Batch Accounts.
The following example shows how to define an Azure Batch Account job.
"AzureBatchJob":
{
"Type": "Job:Azure:BatchAccount",
"ConnectionProfile": "AZURE_CONNECTION",
"JobId": "AzureJob1",
"CommandLine": "echo \"Hello\"",
"AppendLog": false,
"Wallclock":
{
"Time": "770",
"Unit": "Minutes"
},
"MaxTries":
{
"Count": "6",
"Option": "Custom"
},
"Retention":
{
"Time": "1",
"Unit": "Hours"
}
}
The following table describes the Azure Batch Account job parameters.
Parameter |
Description |
---|---|
JobId |
Defines the ID of the batch job. |
CommandLine |
Defines a command line that the batch job runs. |
AppendLog |
(Optional) Determines whether to add the log to the job output. Values:
Default: true |
Wallclock |
(Optional) Determines a maximum limit for the job's run time. (Unit is determined) If you do not include this parameter, the default is unlimited run time. Use this parameter to set a custom time limit. Include the following next-level parameters:
|
MaxTries |
(Optional) Defines the number of times to retry running a failed task. If you do not include this parameter, the default is none (no retries). Use this parameter to choose between the following options:
|
Retention |
(Optional) Defines a file retention period for the batch job. If you do not include this parameter, the default is an unlimited retention period. Use this parameter to set a custom time limit for retention. Include the following next-level parameters:
|
Job:AzureFunctions
Azure Functions enables you to develop, test, and run applications in the cloud.
To deploy and run an Azure Functions job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the Azure Functions plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define an Azure Functions job:
"AzureFunctions":
{
"Type": "Job:AzureFunctions",
"ConnectionProfile": "AZUREFUNCTIONS",
"Function App": "new-function",
"Function Name": "Hello",
"Azure Resource" : "Azure Resource",
"Optional Input Parameters": "\"{\"param1\":\"val1\", \"param2\":\"val2\"}\"",
"Azure Resource Scope" : "Azure resource scope",
"Function Type":"activity",
"Status Polling Frequency": "20",
"Failure Tolerance": "2",
"API-VERSION" : "2022-02-01"
}
The following table describes the Azure Functions job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:AzureFunctions name that connects Control-M to Azure Functions. |
Function App |
Defines the name of the Azure function application that you want to run. |
Function Name |
Defines the name of the function that you want to run. |
Azure Resource |
Defines the Azure Resource ID. You can utilize this attribute for advanced authentication scenarios and only if the connection profile Identity Type value is Function App ID. Default: connection profile is Application (Client) ID |
Optional Input Parameters |
Defines the function parameters, in JSON format, that enable you to control the presentation of data, as follows: Copy
For no parameters, specify {}. |
Azure Resource Scope |
Defines the permissions or access rights granted to a user or an application in Azure to interact with a system or service. You can utilize this attribute for advanced authentication scenarios and only if the connection profile Identity Type value is Function App ID. Default: "api://<resource>/user-impersonation" |
Function Type |
Determines which of the following types of Azure functions to run:
|
API-VERSION |
Determines the version of the API in the Azure Function HTTP request when the function is invoked. Default: 2021-02-01 |
Status Polling Frequency |
Determines the number of seconds to wait before checking the status of the Azure Functions job. Default: 20 |
Failure Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Job:Azure:Function
Azure Functions enables you to develop, test, and run applications in the cloud.
To deploy and run this type of Azure job, ensure that you have completed the following:
-
Installed the Application Pack, which includes the Control-M for Azure plug-in.
-
Created a connection profile, as described in ConnectionProfile:Azure.
BMC recommends that you use the newer job type, Job:AzureFunctions.
The following example shows how to define an Azure Function job:
"AzureFunctionJob":
{
"Type": "Job:Azure:Function",
"ConnectionProfile": "AZURE_CONNECTION",
"AppendLog": false,
"Function": "AzureFunction",
"FunctionApp": "AzureFunctionApp",
"Parameters": [
{"firstParamName": "firstParamValue"},
{"secondParamName": "secondParamValue"}
]
}
The following table describes the Azure Function job parameters.
Parameter |
Description |
---|---|
Function |
Defines the name of the Azure function to execute. |
FunctionApp |
Defines the name of the Azure function app. |
Parameters |
(Optional) Defines function parameters as pairs of name and value. |
AppendLog |
(Optional) Determines whether to add the job log to the output. Values:
|
Job:Azure VM
Azure Virtual Machine (VM) enables you to create, manage, and delete virtual machines in the Azure cloud.
To deploy and run an Azure Virtual Machine (VM) job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the Azure VM plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define an Azure VM job:
"Azure VM_update":
{
"Type": "Job:Azure VM",
"ConnectionProfile": "AZUREVM",
"VM Name": "tb-vm1",
"Operation": "Create\\Update",
"Input Parameters": "{\"key\": \"val\"}",
"Get Logs": "checked",
"Verification Poll Interval": "10",
"Tolerance": "3"
}
The following table describes the Azure VM job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:Azure VM name that connects Control-M to Azure Virtual Machine. |
VM Name |
Defines the name of the Azure Virtual Machine to run the operation. |
Operation |
Determines one of the following operations to perform on the Azure Virtual Machine.
|
Input Parameters |
Defines the input parameters in JSON format for a Create operation, as follows: Copy
|
Get Logs |
Determines whether to display logs from Azure VM at the end of the job output. This parameter is available for all operations except for the Delete operation. Values:
Default: unchecked |
Delete VM disk |
Determines whether to delete the Azure Virtual Machine disk when you delete an Azure Virtual Machine. Values:
Default: unchecked |
Verification Poll Interval |
Determines the number of seconds to wait before job status verification. Default: 15 |
Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Job:GCP Batch
Google Cloud Platform (GCP) Batch enables you to manage, schedule, and execute batch computing workloads on a virtual machine that is provisioned to accommodate your resource and capacity needs.
To deploy and run a GCP Batch job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the GCP Batch plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define a GCP Batch job.
"GCP Batch_Job_2":
{
"Type": "Job:GCP Batch",
"ConnectionProfile": "GCP_BATCH",
"Project ID": "gcp_projectID",
"Region": "us-central1",
"Override Region": "Yes",
"Allowed Locations": ["zones/us-central1-a", "zones/us-central1-c"],
"Job Name": "unique",
"Priority": "99",
"Runnable Type": "Container",
"Task Script Text": "echo hello world",
"Override Commands": "Yes",
"Commands": "\"echo\",\"hello world\"",
"CPU": "1500",
"Memory": "1500",
"Instance Policy": "Machine Template",
"Machine Type": "e2-medium",
"Machine Template": "template-name",
"Provisioning Model": "Spot",
"Logs Policy": "Cloud Logging",
"Use Advanced JSON Format": "unchecked",
"Status Polling Frequency": "10"
}
The following table describes the GCP Batch job parameters.
Parameter |
Description |
---|---|
Connection Profile |
Defines the ConnectionProfile:GCP Batch name that connects Control-M to GCP Batch. |
Project ID |
Defines the GCP project ID where the batch job runs. A project is a set of configuration settings that define the resources your GCP Batch jobs use and how they interact with GCP. |
Region |
Defines the region that is predefined in the GCP Batch platform where the virtual machine resources are located. |
Override Region |
Determines whether to override the predefined region in the GCP Batch platform, as follows:
Default: No |
Allowed Locations |
Defines the new region, or zones in a region, where the virtual machine resources are located. |
Job Name |
Defines a unique name for the batch job. |
Priority |
Determines the run priority of the batch job. Larger numbers indicate higher priority. Valid Values: 1–99 Default: 99 |
Runnable Type |
Determines one of the following types of batch jobs:
|
Task Script Text |
Defines the shell script that the batch job runs. |
Container Image URI |
Defines the Uniform Resource Identifier (URI) that points to the container image. |
Entry Point |
Defines the entry point (ENTRYPOINT) for the Docker container, which overrides the entry point defined in the original image. An entry point is the location in the container where the program begins its execution. Copy
|
Override Commands |
Determines whether to override the Docker command (CMD), which is the executable container application code that is defined in the original image, as follows:
Default: No |
Commands |
Defines the Docker command (CMD) that executes when a Docker container runs. If the container image contains an entry point or if an entry point is defined in the Entry Point parameter, the command is appended as an argument. |
Container Volumes |
Defines the file or directory to copy (mount) onto a container volume, which is a virtual hard drive, inside the Docker container. This copies the /home/user directory on the host machine and pastes it into the /app directory on a volume in the Docker container: Copy
|
CPU |
Defines the number of millicores of virtual CPU resources that are reserved for the batch job. Virtual machines measure CPU resources in millicores (m), which are thousandths of a CPU core. For example, 2000m equals 2 cores. |
Memory |
Determines the number of mebibytes (MiB; mega binary bytes) of virtual memory resources that are reserved for the batch job. |
Maximum Retry Count |
Determines the number of times to retry a job run when it fails. Valid Characters: 0–10 Default: 0 |
Instance Policy |
Determines which kind of virtual machine (instance) runs the job.
|
Machine Type |
Defines the virtual machine type that runs the job. |
Machine Template |
Defines the virtual machine template that runs the job. |
Provisioning Model |
Determines the price and availability of virtual machine resources, as follows:
Default: Standard |
Logs Policy |
Determines whether to save the batch job logs and where they appear.
|
Use Advanced JSON Format |
Determines whether you supply your own JSON parameters, instead of several of the parameters described above. |
JSON Format |
Defines the parameters for the batch job, in JSON format, that enable you to control how the job runs. For a description of this JSON syntax, see the description of Resource:Job in the GCP Batch Job API Reference. Copy
|
Status Polling Frequency |
Determines the number of seconds to wait before checking the status of the GCP Batch job. Default: 10 |
Job:GCP Functions
Google Cloud Platform (GCP) Functions enables you to develop, test, and run applications in the cloud.
To deploy and run a GCP Functions job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the GCP Functions plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define a GCP Functions job:
"GCP Functions_Job":
{
"Type": "Job:GCP Functions",
"ConnectionProfile": "GCPFUNCTIONS",
"Project ID": "myProject",
"Location": "us-central1",
"Function Name": "myFunction",
"Function Parameters": "Body",
"Body": "{\\\"message\\\":\\\"controlm-body-%%ORDERID\\\"}",
"Status Polling Frequency": "20",
"Failure Tolerance": "2",
"Get Logs": "unchecked",
}
The following table describes the GCP Functions job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:GCP Functions name that connects Control-M to GCP Functions. |
Project ID |
Defines the GCP project ID where the GCP Functions job executes. A project is a set of configuration settings that define the resources your GCP Batch jobs use and how they interact with GCP. |
Location |
Defines where the functions job executes. |
Function Name |
Defines the name of the function that you want to execute. |
Function Parameters |
Determines one of the following types of parameters to pass to the function:
|
URL Parameters |
Defines the URL parameters that are passed to the function, in the following format: <Parameter_Name_1>=<Value_1> |
Body |
Defines the JSON-based body parameters that are passed to the function, in the following format: Copy
For no parameters, type {}. Maximum Characters: 4,000 |
Status Polling Frequency |
Determines the number of seconds to wait before checking the status of the GCP Functions job. Default: 20 |
Failure Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Get Logs |
Determines whether to append the GCP Functions logs to the output Values:
Default: unchecked |
Job:GCP VM
Google Cloud Platform (GCP) Virtual Machine (VM) enables you to create, manage, and delete virtual machines on the Google Compute Engine (GCE).
To deploy and run a GCP VM job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the GCP VM plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following example shows how to define a GCP VM job:
"GCP VM_create":
{
"Type": "Job:GCP VM",
"ConnectionProfile": "GCPVM",
"Project ID": "applied-lattice",
"Zone": "us-central1-f",
"Operation": "Create",
"Parameters": "{ \"key\": \"value\"}",
"Instance Name": "tb-mastercluster-m",
"Get Logs": "checked",
"Verification Poll Interval": "20",
"Tolerance": "3"
}
The following table describes the GCP VM job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:GCP VM name that connects Control-M to GCP VM. |
Project ID |
Defines the project ID of the Google Cloud Project Virtual Machine. |
Zone |
Defines the name of the zone for the request. |
Operation |
Determines one of the following operations to perform on the Google Virtual Machine:
|
Template Name |
Defines the name of a template for creation of a new Google Virtual Machine from a template. |
Instance Name |
Defines the name of the VM instance where you want to run the operation. This parameter is available for all operations except for the Create operations. |
Parameters |
Defines the input parameters in JSON format for a Create operation, as follows: Copy
|
Get Logs |
Determines whether to display logs from Google VM at the end of the job output. This parameter is available for all operations except for the Delete operation. Values:
Default: unchecked |
Verification Poll Interval |
Determines the number of seconds to wait before job status verification. Default: 15 |
Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Job:OCI Functions
Oracle Cloud Infrastructure (OCI) Functions plug-in enables you to develop, test, and run functions in the cloud.
To deploy and run an OCI Functions job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the OCI Functions plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following examples show how to define an OCI Functions job:
-
This JSON defines a job without a payload:
Copy"OCI Functions_Job":
{
"Type": "Job:OCI Functions",
"ConnectionProfile": "OCI_FUNC_CONFIG",
"Function OCID": "ocid1.fnfunc.oc1.phx.aaaaaaaaacernidnqp453emwpzps7gqtr2gm5u******naciexkmzklq"
} -
This JSON defines a job with a payload that contains job input parameters:
Copy"OCI Functions_Job_payload_params":
{
"Type": "Job:OCI Functions",
"ConnectionProfile": "OCI_FUNC_CONFIG",
"Function OCID": "ocid1.fnfunc.oc1.phx.aaaaaaaaacernidnqp453emwpzps7gq*******rcsnaciexkmzklq",
"Function Payload File": "Payload_Parameters:name",
"Payload File Parameters": "{\"name\":\"demo-%%ORDERID._%%TIME\"}"
}
The following table describes the OCI Functions job attributes.
Attribute |
Description |
---|---|
ConnectionProfile |
Defines the ConnectionProfile:OCI Functions name that connects Control-M to OCI Functions. |
Function OCID |
Defines the function Oracle Cloud Identifier (OCID) which is a unique identifier that is assigned to each function that is created within the Oracle Cloud Infrastructure. |
Function Payload File |
(Optional) Defines the contents of an OCI Functions payload file. Maximum size is 100KB. This payload can contain parameters, which you define through the Payload File Parameters attribute. In the following example, the contents of a payload file define one name parameter. Payload_Parameters:name |
Payload File Parameters |
(Optional) Defines the OCI Functions job input parameters that are referenced in the payload file. Parameters are defined in JSON format, as name:value pairs. The following example shows the name parameter and its value that is based on Control-M variables. "{\"name\":\"demo-%%ORDERID._%%TIME\"}" |
Job:OCI VM
Oracle Cloud Infrastructure Virtual Machine (OCI VM) plug-in enables you to create, manage, and delete virtual machines in the Oracle cloud.
To deploy and run an OCI VM job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the OCI VM plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following examples show how to define an OCI VM job.
-
This JSON defines the Create action:
Copy"OCI VM_Job_CREATE_MACHINE":
{
"Type": "Job:OCI VM",
"ConnectionProfile": "OCI_VM",
"Action": "Create",
"Parameters": "
{
"availabilityDomain": "Idbi:PHX-AD-1",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaahjo7g63l5dhmgepb7xfszhpgikuby4rdybd4wrsdgre12312",
"displayName": "Machine_From_ControlM",
"subnetId": "ocid1.subnet.oc1.phx.aaaaaaaa3dhxqzuamhhyozrleorlsfofyntcsdfsdf234234",
"faultDomain": "FAULT-DOMAIN-2",
"imageId": "ocid1.image.oc1.phx.aaaaaaaam7ncdrjaz5vgvew4usku3ve5iygevvg4whphsqechjv6fgt2nbka",
"launchMode": "PARAVIRTUALIZED",
"launchOptions":
{
"bootVolumeType": "PARAVIRTUALIZED",
"firmware": "UEFI_64",
"networkType": "PARAVIRTUALIZED",
"remoteDataVolumeType": "PARAVIRTUALIZED",
"isPvEncryptionInTransitEnabled": true,
"isEncryptionInTransitEnabled": null,
"isConsistentVolumeNamingEnabled": true
},
"instanceOptions":
{
"areLegacyImdsEndpointsDisabled": false
},
"availabilityConfig":
{
"isLiveMigrationPreferred": null,
"recoveryAction": "RESTORE_INSTANCE"
},
"preemptibleInstanceConfig": null,
"metadata": {},
"region": "phx",
"shape": "VM.Standard.A1.Flex",
"shapeConfig":
{
"ocpus": 1.0,
"memoryInGBs": 6.0,
"baselineOcpuUtilization": null,
"processorDescription": "3.0 GHz Ampere Altra",
"networkingBandwidthInGbps": 1.0,
"maxVnicAttachments": 2,
"gpus": 0,
"gpuDescription": null,
"localDisks": 0,
"localDisksTotalSizeInGBs": null,
"localDiskDescription": null,
"vcpus": 1
},
"isCrossNumaNode": false,
"sourceDetails":
{
"sourceType": "image",
"bootVolumeSizeInGBs": null,
"imageId": "ocid1.image.oc1.phx.aaaaaaaam7ncdrjaz5vgvew4usku3ve5iygevvg4whphsqechjv6fgt2nbka",
"kmsKeyId": null,
"bootVolumeVpusPerGB": null,
"instanceSourceImageFilterDetails": null
}
}",
"CreatedBy": "emuser",
"RunAs": "OCI_VM"
} -
This JSON defines the Start action:
For the Stop, Reset, Get Details, Soft Stop, Soft Reset, and Delete actions the JSON is the same except for the Action parameter value.
Copy"OCI VM_Job_Manage":
{
"Type": "Job:OCI VM",
"ConnectionProfile": "OCI_VM",
"Action": "Start",
"Instance ID": "ocid1.instance.oc1.us-phoenix-1.anwxiljru2nrodicsdlca72feeowinjvusqw3vij5k6dysczyarc6me37xma",
"Status Polling Frequency": "15",
"Failure Tolerance": "2",
}
The following table describes the OCI VM job parameters.
Parameter |
Description |
---|---|
ConnectionProfile |
Determines the ConnectionProfile:OCI VM name that connects Control-M to OCI VM. |
Action |
Determines one of the following actions to perform on the OCI VM.
|
Parameters |
Defines the input parameters in JSON format for a Create action, as appears in the example above. |
Instance ID |
Defines the name of the OCI VM instance you wish to create or operate on. |
Status Polling Frequency |
Determines the number of seconds to wait before checking the status of the OCI VM job. Default: 15 |
Failure Tolerance |
Determines the number of times to check the job status before ending Not OK. Default: 2 |
Job:VMware By Broadcom
VMware By Broadcom enables you to run multiple virtual machines on a single physical server.
To deploy and run an VMware By Broadcom job, ensure that you have completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the VMware By Broadcom plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
The following examples show how to define an VMware By Broadcom job:
-
This JSON defines a power operation to start a virtual machine:
Copy"VMware By Broadcom_Job":
{
"Type": "Job:VMware By Broadcom",
"ConnectionProfile": "VMWARE",
"Category": "Power Operations",
"Power Tasks": "Start VM"
"VM Logical Name": "vw-ap-prox-ccpw",
"Host": "dba-tlv-weu452"
"Status Polling Frequency": "5",
"Failure Tolerance": "2",
} -
This JSON defines a configuration task to reconfigure the virtual machine:
Copy"VMware By Broadcom_Job":
{
"Type": "Job:VMware By Broadcom",
"ConnectionProfile": "VMWARE",
"Category": "Configuration Tasks",
"Configuration Options": "Reconfigure VM"
"Reconfigure Action": "CPU",
"VM Logical Name": "vw-ap-prox-ccpw",
"Host": "dba-tlv-weu452",
"Hot Remove": "false",
"Hot Add": " false ",
"CPU Count": "4",
"Cores Per Socket": "1",
"Status Polling Frequency": "5",
"Failure Tolerance": "2"
}
The following table describes the VMware By Broadcom job parameters.
Attribute |
Category |
Description |
---|---|---|
ConnectionProfile |
All |
Determines the ConnectionProfile:VMwareByBroadcom name that connects Control-M to VMware By Broadcom. |
Category |
All |
Determines one of the following tasks to perform on the virtual machine:
|
Power Tasks |
Power Operations |
Determines one of the following power-related actions to perform:
|
Configuration Options |
Configuration Tasks |
Determines one of the following configuration settings for the virtual machine:
|
Snapshot Operations |
Snapshots |
Determines one of the following actions related to virtual machine snapshots:
|
VM Logical Name |
All |
Defines the name of the virtual machine. |
Folder |
Power Operations |
(Optional) Defines the folder where the virtual machine is located. |
Resource Pool |
Power Operations |
(Optional) Defines the resource pool where the virtual machine is located. |
Host |
Power Operations |
(Optional) Defines the host of the virtual machine. |
Cluster |
Power Operations | (Optional) Defines the cluster where the virtual machine is located. |
Datacenter |
Power Operations |
(Optional) Defines the data center where the virtual machine is located. |
Reconfigure Action |
Configuration Tasks |
Determines one of the following tasks to change the virtual machine:
|
Hot Remove |
Configuration Tasks |
Determines whether to remove CPUs from the virtual machine when it runs.
Default: False |
Hot Add |
Configuration Tasks |
Determines whether to add CPUs to the virtual machine when it runs.
Default: False |
CPU Count |
Configuration Tasks |
Determines the number of CPU cores allocated to the virtual machine. |
Cores Per Socket |
Configuration Tasks |
Determines the number of CPU cores allocated per virtual CPU socket. |
Size In MiB |
Configuration Tasks |
Determines the number of megabytes (MiB) assigned to the virtual machine. |
Parameters |
Configuration Tasks |
Defines the JSON required for the API request. |
Placement JSON |
Configuration Tasks |
Defines the JSON-encoded information that indicates where to place the virtual machine, such as a host or storage resource. |
Snapshot Name |
Snapshots |
Defines the name of the snapshot for a snapshot task. |
Snapshot Description |
Snapshots |
Defines a description of the snapshot. |
Memory Dump |
Snapshots |
Determines whether to include a memory dump of the virtual machine in the snapshot.
|
Quiesce |
Snapshots |
Determines whether to pause the virtual machine file system to ensure a consistent snapshot.
|
Release Schema |
Snapshots |
Defines the version and format of the API data structure for compatibility across different API releases. |
Status Polling Frequency |
All |
(Optional) Determines the number of seconds to wait before checking the job status. Default: 60 |
Failure Tolerance |
All |
Determines the number of times to check the job status before the job ends Not OK. Default: 2 |