Environment Service

The Environment service enables you to manage environments, including defining and selecting the Control-M environment to use. An environment is a combination of an endpoint and API token, or a combination of an endpoint, username, and password.

An endPoint has the following format:

https://<controlmEndPointHost>:8443/automation-api

Environments are saved in the env.json file, which is located under the .ctm folder, on the home user that has read/write permissions only for the logged in user. Sensitive information, such as passwords and tokens, is encrypted in the env.json file.

For example, the following command adds an environment named devEnvironment In this command, you include a valid token, as described in Authentication Service.

Copy
ctm environment add devEnvironment "https://<controlmEndPointHost>:8443/automation-api" "<token>"

In the following alternative example for creation of the same environment, username and password are specified (instead of an API token).

Copy
> ctm environment add devEnvironment "https://<controlmEndPointHost>:8443/automation-api" "<ControlmUser>" "<ControlmPassword>"
 
info:    Environment 'devEnvironment' was created
info:    devEnvironment:
{"endPoint":"https://<controlmEndPointHost>:8443/automation-api","user":"<ControlmUser>"}

The following API commands enable you to manage environments:

environment show

The environment show command enables you to return a list of all defined environments.

Copy
ctm environment show

environment add

The environment add command enables you to add a new environment for a Control-M instance.

Copy
ctm environment add <env> <endPoint> <user> [<password>]

or

Copy
ctm environment add <env> <endPoint> <token>

The following table describes the environment add command parameters.

Parameter

Description

<env>

Environment name.

<endPoint>

Control-M REST API endPoint.

<user>

Control-M username.

If you specify an LDAP user, prefix the username with the domain: <domain>\<user>.

[<password>]

Control-M password.

To be prompted for the password after entering the API command, use the -p or --prompt switch instead of specifying the password as a parameter.

<token>

An API authentication token that allows the logged-in user to submit API requests.

For more information about API tokens, see Authentication Service.

While the environment is added, it is checked for its policy regarding certificates. If the environment is currently set to accept self-signed certificates, a warning is displayed. If you want to apply a stricter policy of accepting only certificates signed by a trusted Certificate Authority (and not accepting self-signed certificates), you can use the environment configure command to set the rootCertificateRequired parameter to true.

environment workbench::add

The environment workbench::add command enables you to add an environment for the installed Control-M Workbench.

Copy
ctm environment workbench::add [<endPoint>]

Where [<endPoint>] is the REST API endPoint for the Control-M Workbench.

By default, the Workbench endpoint is https://localhost:8443/automation-api, with "workbench" as the user name and password.

You can use this parameter if you installed the Workbench on a different host.

environment set

The environment set command enables you to set the default environment for interactive work. All commands are sent to this environment unless a different environment is defined using the -e option.

When no environments are defined and you add the very first environment (using the environment add or the environment workbench::add command), that first environment is automatically set as the default. Later, after additional environments have been defined, use this command to set a new default.

Copy
ctm environment set <env>

Where <env> is the environment name.

environment delete

The environment delete command enables you to delete an environment.

Copy
ctm environment delete <env>

Where <env> is the environment name.

environment update

The environment update command enables you to update an environment property.

Copy
ctm environment update <env> <name> <value>

The following table describes the environment update command parameters.

Parameter

Description

<env>

Environment name.

<name>

The name of the property:

  • endPoint

  • user

  • password

  • token

  • additionalLoginHeader

<value>

Property value for the specified property name:

Property

Description

endpoint

A URL that points to the endpoint and begins with https.

user

Control-M username.

If you specify an LDAP user, prefix the username with the domain: <domain>\<user>.

password

Control-M password.

token

Name of an API authentication token that allows the logged-in user to submit API requests.

For more information about API tokens, see Authentication Service.

additionalLoginHeader

An additional header to include in login requests sent by the CLI, with the following format:

"Header_Name:Header_value"

environment copy

The environment copy command enables you to duplicate an environment.

Copy
ctm environment <env> <newEnv>

Where <env> is the name of the original environment and <newEnv> is the name of the new environment.

environment load

The environment load command enables you to load one or more predefined environments using the env.json file.

Copy
ctm environment load <enviromentsFile>

Where <enviromentsFile> is the env.json file, which is located under the .ctm folder, on the home user that has read/write permissions only for the logged in user.

Do not encrypt sensitive information, such as passwords and tokens, in the env.json file. This sensitive information is encrypted automatically when the file is loaded.

environment configure

The environment configure command enables you to set parameters for all environments.

Copy
ctm environment configure <setting name> [setting value]

Where <setting name> is the name of the parameter and [setting value] is the value for the parameter.

The following table describes possible environment configure parameters:

Parameter

Value

Default

Description

rootCertificateRequired

false | true

false

Disable API calls that use a self-signed HTTPS certificate, and allow only certificates that are signed by a trusted Certificate Authority.

By default, self-signed certificates are allowed.

EXT_APPLICATION_ARTIFACTS_JSON_URL

path to local repository of images

N/A

Set a path to a local repository of provisioning images, overriding the location used by default for provisioning actions performed by the Provision Service. See also Setting Up a Local Repository for Provision Images and Installation Packages.

EXT_AUTO_DEPLOY

path to local repository of installation packages

N/A

Set a path to a local repository of installation packages for provisioning actions performed by the Provision Service. See also Setting Up a Local Repository for Provision Images and Installation Packages.