Contact Us 1-800-596-4880

CloudHub Command-Line Interface

Anypoint Platform provides a scripting and command-line tool for CloudHub. The command-line interface (CLI) supports both the interactive shell and standard CLI modes and works with:

CloudHub Applications

Command Description

Describes the history of the alarm

Lists all alerts in the environment

Copies a CloudHub application

Deletes an application

Deploys a new application

Shows application details

Download application logs to specified directory

Lists all applications in the environment

Modifies an existing application, optionally updating the ZIP file

Restarts a running application

Starts an application

Stops a running application

Tail application logs

Lists all supported regions

Lists all available runtimes

runtime-mgr:cloudhub-alert-history:describe

> runtime-mgr:cloudhub-alert-history:describe [flags] <name>

Describes the history of the alarm passed in <name>

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command accepts the default flag --help.

runtime-mgr:cloudhub-alert:list

> runtime-mgr:cloudhub-alert:list [flags]

Lists all alerts associated with your current environment

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

runtime-mgr:cloudhub-application:copy

> runtime-mgr:cloudhub-application:copy <source> <target> [flags]

Copies the CloudHub application passed in source to the target passed in target
Arguments source and target should be formatted as follows: ([group_id]/)<asset_id>/<version> If group_id is not specified, it defaults to the currently selected Organization ID

For example:

> runtime-mgr:cloudhub-application:copy Services:QA/application-1 Development:QA/application-2

Copies the application named application-1 from the QA environment of the Services organization to the QA environment of the Development organization.
If the Anypoint Platform CLI is using the QA environment in the Services organization, the command can simply take the application name as a source:

> runtime-mgr:cloudhub-application:copy application-1 Development/QA/application-2
Running this command requires your user to have read/write access to the /tmp directory of the OS where CLI is installed.

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--property

Set a property (name:value).

--property "salesforce.password:qa\=34534"

This command has multi-option flags. When using multi-option flags in a command, either put the parameter before the flags or use a `-- ` (two dashes followed by a space) before the parameter.
When copying an application containing safely hidden application properties, pass the properties in the copy command using the --property flag. For information about safely hidden application properties, see Safely Hide Application Properties.

runtime-mgr:cloudhub-application:delete

> runtime-mgr:cloudhub-application:delete [flags] <name>

Deletes the running application you specify in <name>

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

This command accepts the default flag --help.

runtime-mgr:cloudhub-application:deploy

> runtime-mgr:cloudhub-application:deploy  <name> <zipfile> [flags]

Deploys the Mule deployable archive ZIP file that you specify in <zipfile> using the name you set in <name>
You will have to provide the absolute or relative path to the deployable ZIP file in your local hard drive and the name you give to your application has to be unique.

If successful, this command’s output includes the deployment status of UNDEPLOYED, which indicates that CloudHub uploaded the application successfully.

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--runtime

Name and version of the runtime environment.
Use this flag to specify the name and version of the runtime you want to deploy
If you don’t specify a runtime version, CloudHub API deploys the latest version available considering the values you select for --javaVersion and --releaseChannel.

`--runtime 2.1.1-API-Gateway`, `--runtime 4.6-e-java17`.

--releaseChannel

Set the name of the release channel to be used for the selected Mule version
Supported values are NONE, EDGE, and LTS
If you do not specify a value, CloudHub API imposes the default value. The default release channel is EDGE
If you don’t specify a Mule version, the default Mule version for the selected release channel is used. If the selected release channel doesn’t exist, you get an error.

--releaseChannel EDGE

--javaVersion

Set the name of the Java version to be used for the selected Mule version
Supported values are 8 and 17
If you do not specify a value, CloudHub API imposes the default value. The default Java version for Mule 4.6 and earlier versions is '8'.
If you don’t specify a Mule version, the default Mule version for the selected Java version is used. If the Java version you select is not available for the specified Mule version, you get an error.

--javaVersion 8

--workers

Number of workers
Default value is '1'

--workers 3

--workerSize

Size of the workers in vCores
(Default value is '1'

--workerSize 2

--region

Name of the region to deploy to

--region Canada

--property

Set a property (name:value)
Character : is not supported for the property’s name

--property "salesforce.password:qa\=34534"

`--propertiesFile

Overwrite all properties with values from this file
The file format is 1 or more lines in name:value format
Set the absolute path of the properties file in your local hard drive

--propertiesFile exampleFile.JSON

--[no-]persistentQueues

Enable or disable persistent queues
Default value is disabled

--[no-]persistentQueues

`--[no-]persistentQueuesEncrypted `

Enable or disable persistent queue encryption
Default value is disabled

--[no-]persistentQueuesEncrypted

--[no-]staticIPsEnabled

Enable or disable static IPs
Default value is disabled

--[no-]staticIPsEnabled

--[no-]objectStoreV1

Enable or disable Object Store V
objectStoreV2 cannot also be provided when using objectStoreV1 flag

--[no-]objectStoreV1

--[no-]objectStoreV2

Enable or disable Object Store V2
objectStoreV1 cannot also be provided when using objectStoreV2 flag

--[no-]objectStoreV2

--[no-]autoRestart

Automatically restart app when not responding
Default value is enabled

--[no-]autoRestart

--output

Specify the response format
Supported values are table (default) and json

--output json

--timeout

Set the timeout value in miliseconds
Can take values between 60000 and 300000

--timeout 90000

You won’t be able to allocate static IPs Anypoint Platform CLI. You can simply enable and disable them.

If you deploy without using any flags, your application deploys using all your default values.

This command has multi-option flags. When using multi-option flags in a command, either put the parameter before the flags or use a `-- ` (two dashes followed by a space) before the parameter.

runtime-mgr:cloudhub-application:describe

> runtime-mgr:cloudhub-application:describe [flags] <name>

Displays information on the application you pass in <name>
Use the flag -o json to get the raw JSON response of the application you specify in <name>.
The command returns data such as the application’s domain, its status, the last time it was updated, the Mule version, the ZIP file name, the region, monitoring, and workers; as well as TRUE or FALSE information for persistent queues and static IPs enablement.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

runtime-mgr:cloudhub-application:download-logs

> runtime-mgr:cloudhub-application:download-logs [flags] <name> <directory>

Downloads logs the for application specified in <name> to the specified directory

Contrarily to what you see in the UI, the logs you download from the CLI won’t separate system logs from worker logs.

runtime-mgr:cloudhub-application:list

> runtime-mgr:cloudhub-application:list [flags]

Lists all applications available in your Anypoint Platform CLI
It returns your application name, its status, the number of vCores assigned and the last time it was updated.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

runtime-mgr:cloudhub-application:modify

> runtime-mgr:cloudhub-application:modify  <name> [zipfile] [flags]

Updates the settings of an existing application
Optionally, you can update it by uploading a new ZIP file. This command can take all the same flags as the deploy command.

This command’s output includes Status, which is the application’s previous deployment status state.
This command has multi-option flags. When using multi-option flags in a command, either put the parameter before the flags or use a `-- ` (two dashes followed by a space) before the parameter.

runtime-mgr:cloudhub-application:restart

> runtime-mgr:cloudhub-application:restart  [flags] <name>

Restarts the running application you specify in <name>

This command accepts the default flag --help.

runtime-mgr:cloudhub-application:start

> runtime-mgr:cloudhub-application:start [flags] <name>

Starts the running application you specify in <name>

This command accepts the default flag --help.

runtime-mgr:cloudhub-application:stop

> runtime-mgr:cloudhub-application:stop  [flags] <name>

Stops the running application you specify in <name>

This command accepts the default flag --help.

runtime-mgr:cloudhub-application:tail-logs

> runtime-mgr:cloudhub-application:tail-logs [flags] <name>

Tails application logs

This command accepts the default flag --help.

cloudhub:region:list

> cloudhub:region:list [flags]

Lists all supported regions

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:runtime:list

> cloudhub:runtime:list [flags]

Lists all supported runtimes

This command accepts only the default flag --help.

CloudHub Dedicated Load Balancers

Command Description

Adds an IP or range of IPs to the load balancer allowlist

Removes an IP or range of IPs from the load balancer allowlist

Creates a load balancer

Deletes a load balancer

Shows load balancer details

Disables dynamic IPs

Enables dynamic IPs

Lists all load balancers in an organization

Adds a proxy mapping rule at the specified index

Lists the proxy mapping rules for a load balancer

Removes a proxy mapping rule

Adds an additional certificate to an existing load balancer

Shows the load balancer configuration for a particular certificate

Removes a certificate from a load balancer

Sets the default certificate that the load balancer will serve

Starts a load balancer

Stops a load balancer

cloudhub:load-balancer:allowlist:add

> cloudhub:load-balancer:allowlist:add [flags] <name> <cidrBlock>

Adds a range of IP addresses specified in <cidrBlock> to the allowlist of the load balancer specified in <name>

The allowlist works at the load balancer level, not at the CN certificate level. Make sure you only pass IP addresses formatted in CIDR notation.

This command accepts the default flag --help.

cloudhub:load-balancer:allowlist:remove

> cloudhub:load-balancer:allowlist:remove <name> <cidrBlock>

Removes an IP or range of IPs addresses specified in <cidrBlock> to the allowlist of the load balancer specified in <name>

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

This command accepts the default flag --help.

cloudhub:load-balancer:create

> cloudhub:load-balancer:create [flags] <vpc> <name> <certificate> <privateKey>

Creates a load balancer using the specified values in the following variables:

Value Description Example

vpc

Name of the Anypoint VPC to which this load balancer is bound.
If your Anypoint VPC name contains spaces, you need to pass it between ´"´ characters.

vpc-demo

name

Name for the load balancer.

newtestloadbalancer

certificate

Absolute path to the .pem file of your server certificate in your local hard drive.
Your certificate files need to be PEM encoded and not encrypted.

/Users/mule/Documents/cert.pem

privateKey

Absolute path to the .pem file of your private key of the server certificate in your local hard drive.
Your private key file needs to be passphraseless.

/Users/mule/Documents/privateKey.pem

The name for the load balancer that you pass in <name> must be unique.
By default, your load balancer listens external requests on HTTPS and communicates with your workers internally through HTTP.
If you configured your Mule application within the Anypoint VPC to listen on HTTPS, make sure you set upstreamProtocol to HTTPS when creating the mapping list using the load-balancer mappings add command.

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--clientCertificate

Client certificate file

--clientCertificate /Users/mule/Documents/CertificateFile.pem

--crl

Certificate revocation list file

--crl /Users/mule/Documents/crlFile.pem

--http

Specifies the Load balancer HTTP behavior. It can be set to on (accepts HTTP requests and forwards it to your configured default sslendpoint), off (refuses all HTTP requests), or redirect (redirects to HTTPS).

--http off

--[no-]tlsv1

Supports TLSv1 in addition to TLSv1.1 and TLSv1.2

--[no-]tlsv1

--[no-]dynamic-ips

Uses dynamic IPs, which are not persistent through restarts

--[no-]dynamic-ips

--verificationMode

Specifies the client verification mode. It can be set to on (verify always), off (don’t verify), or optional (verification optional).

--verificationMode optional

CloudHub does not implement the Online Certificate Status Protocol (OCSP). To keep your certification revocation list up to date, it’s recommended to use the CloudHub API to update your certificates programmatically.

For more configuration information, see Configure SSL Endpoints and Certificates.

cloudhub:load-balancer:delete

> cloudhub:load-balancer:delete [flags] <name>

Deletes the load balancer specified in <name>.

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

This command accepts the default flag --help.

cloudhub:load-balancer:describe

> cloudhub:load-balancer:describe [flags] <name>

Displays information about the load balancer that is specified in <name>
Use the flag -o json to get the raw JSON response of the application you specify in <name>
It displays load balancer’s name, domain, its state and the Anypoint VPC Id to which the load balancer is bound.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:load-balancer:dynamic-ips:disable

> cloudhub:load-balancer:dynamic-ips:disable [flags] <name>

Disables dynamic IPs for the load balancer specified in <name>

This command accepts the default flag --help.

cloudhub:load-balancer:dynamic-ips:enable

> cloudhub:load-balancer:dynamic-ips:enable [flags] <name>

Enables dynamic IPs for the load balancer specified in <name>

This command accepts the default flag --help.

cloudhub:load-balancer:list

> cloudhub:load-balancer:list [flags]

Lists all load balancers in your Anypoint Platform
It displays load balancer’s name, domain, its state, and the Anypoint VPC ID to which the load balancer is bound.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:load-balancer:mappings:add

> cloudhub:load-balancer:mappings:add [flags] <name> <index> <inputUri> <appName> <appUri> [certificateName]

Adds a proxy mapping rule to the load balancer specified in <name> in the CN passed under the certificateName flag.
If no certificateName is passed, Anypoint Platform CLI adds the mappings to the default SSL endpoint.

Value Description Example

name

Name of the load balancer to which this rule is applied.

testloadbalancer

inputUri

Name of the URI of your input URL

example.com

appName

Name of the app of your output URL to which the request is forwarded

{app}-example

appUri

URI of the app of your output URL to which the request is forwarded

/

For the values in the example above, for an input call to my-superapp.api.example.com/status?limit=10, the endpoint my-superapp-example: /status?limit=10 will be called for the application.

If no upstream protocol is set, HTTP is used as default.

Flag Description Example

`--certificateName `

Certificate name

--certificateName exampleName

--upstreamProtocol <protocol>

Set the protocol used by your application to communicate internally with your load balancer
Supported Values: http, https

--upstreamProtocol http

cloudhub:load-balancer:mappings:describe

> cloudhub:load-balancer:mappings:describe <name> [certificateName]

Lists the mapping rules for the load balancer specified in <name>
If no certificateName is passed, Anypoint Platform CLI returns the mappings for the default SSL endpoint.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:load-balancer:mappings:remove

> cloudhub:load-balancer:mappings:remove [flags] <name> <index> [certificateName]

Removes the proxy mapping rules from the load balancer specified in <name> at the priority index specified in <index> and the CN specified as the certificateName flag
If no certificateName is passed, Anypoint Platform CLI removes the mappings for the default SSL endpoint.

This command accepts the default flag --help.

cloudhub:load-balancer:ssl-endpoint:add

> cloudhub:load-balancer:ssl-endpoint:add [flags] <name> <certificate> <privateKey>

Adds an SSL endpoint to the load balancer specified in <name>, using the certificate and private key passed:

Value Description Example

name

Name for the load balancer.

newtestloadbalancer

certificate

Absolute path to the .pem file of your certificate in your local hard drive.
Your certificate files need to be PEM encoded and not encrypted.

/Users/mule/Documents/cert.pem

privateKey

Absolute path to the .pem file of your private key in your local hard drive.
Your private key file needs to be passphraseless.

/Users/mule/Documents/privateKey.pem

CloudHub does not implement the Online Certificate Status Protocol (OCSP). To keep your certification revocation list up to date, it’s recommended to use the CloudHub API to update your certificates programmatically.

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--clientCertificate

Client certificate file

--clientCertificate /Users/mule/Documents/CertificateFile.pem

--crl

Certificate Revocation List file

--clientCertificate /Users/mule/Documents/crlFile.pem

--tlsv1

Supports TLSv1 in addition to TLSv1.1 and TLSv1.2

--tlsv1

--verificationMode

Specifies the client verification mode. It can be set to on (verify always) off (don’t verify) or optional (Verification optional).

--verificationMode on

For more configuration information, see Configure SSL Endpoints and Certificates.

cloudhub:load-balancer:ssl-endpoint:describe

> cloudhub:load-balancer:ssl-endpoint:set-describe [flags] <name> <certificateName>

Shows information about the configuration of the load balancer passed in <name> for the the certificate specified in <certificateName>

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:load-balancer:ssl-endpoint:remove

> cloudhub:load-balancer:ssl-endpoint:remove [flags] <name> <certificateName>

Removes the ssl certificate specified in <certificateName> from the load balancer specified in <name>

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

This command accepts the default flag --help.

cloudhub:load-balancer:ssl-endpoint:set-default

> cloudhub:load-balancer:ssl-endpoint:set-default [flags] <name> <certificateName>

Sets the certificate specified in <certificateName> as the default certificate for the load balancer passed in <name>

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--http

Specifies the Load balancer HTTP behavior
It can be set to on (accepts HTTP requests and forwards it to your configured default sslendpoint), off (refuses all HTTP requests), or redirect (redirects to HTTPS)

--http redirect

cloudhub:load-balancer:start

> cloudhub:load-balancer:start [flags] <name>

Starts the load balancer specified in <name>

This command accepts the default flag --help.

cloudhub:load-balancer:stop

> cloudhub:load-balancer:stop [flags] <name>

Stops the load balancer specified in <name>

This command accepts only the default flag --help.

CloudHub Anypoint VPCs

Command Description

Shares an Anypoint VPC with a list of Business Groups

Shares an Anypoint VPC with a list of Business Groups

Creates a new Anypoint VPC

Deletes an existing Anypoint VPC

Show Anypoint VPC details

Sets the domain names that are resolved using your internal DNS servers

Clears the list domain names that are resolved using your internal DNS servers

Modifies the Anypoint VPC association to Runtime Manager environments

Modifies the Anypoint VPC association to Runtime Manager environments

Adds a firewall rule for Mule applications in this Anypoint VPC

Shows firewall rule for Mule applications in this Anypoint VPC

Removes a firewall rule for Mule applications in this Anypoint VPC

Lists all Anypoint VPCs

cloudhub:vpc:business-groups:add

> cloudhub:vpc:business-groups:add [flags] <vpc> <businessGroups...>

Assigns the Anypoint VPC defined in <vpc> to the business group(s) passed as argument(s) thereafter

This command accepts the default flag --help.

cloudhub:vpc:business-groups:remove

> cloudhub:vpc:business-groups:remove [flags] <vpc> <businessGroups...>

Removes the Anypoint VPC defined in <vpc> from the business group(s) passed as argument(s) thereafter

This command does not prompt twice before removing the Anypoint VPC from the specified resource. If you send a remove instruction, it does not ask for confirmation.

This command accepts the default flag --help.

cloudhub:vpc:create

> cloudhub:vpc:create [flags] <name> <region> <cidrBlock> [environments...]

Creates an Anypoint VPC using the name in <name>, in the region specified in <region>, with the size passed in <cidrBlock> in the form of a Classless Inter-Domain Routing (CIDR) block, using CIDR notation and associates it to the environments passed as argument(s) thereafter.

An Anypoint VPC needs to be bound to a business group within your organization. When creating an Anypoint VPC, make sure to assign it a business group using the business-groups add command.

This command accepts the --default flag. When passed, the Anypoint VPC is created as the default Anypoint VPC for the selected environment.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:vpc:delete

> cloudhub:vpc:delete <name>

Deletes the Anypoint VPC specified in <name>

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

This command accepts the default flag --help.

cloudhub:vpc:describe

> cloudhub:vpc:describe [flags] <name>

Displays information about the Anypoint VPC that is specified in <name>

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command accepts the default flag --help.

cloudhub:vpc:dns-servers:set

> cloudhub:vpc:dns-servers:set [flags] <vpc>

Sets a list of local host names (internal domain names) to be resolved using your DNS servers for which you need to provide their IP addresses (whether private or public addresses).
Whenever those private domains are provided, your worker resolves them using your private DNS, so you can still use the internal host names of your private network.

This feature is supported by workers running Mule versions 3.5.x, 3.6.x, 3.7.4, 3.8.0-HF1, 3.8.1 and 3.8.2.

In addition to the default flag --help, this command accepts the following flags:

Flag Description Example

--domain

A domain to resolve on the special DNS server list
Can be specified multiple times

--domain example.com

--server

IP address for a DNS server to resolve special domains on
Can be specified up to 3 times

--server 192.168.1.10

Every time you run this command, you overwrite your previous DNS set command.
To remove a DNS set, you need to use the vpc dns-servers unset command.

cloudhub:vpc:dns-servers:unset

> cloudhub:vpc:dns-servers:unset [flags] <vpc>

Clears the list of local host names (internal domain names) to be resolved using your DNS servers from the Anypoint VPC passed in <vpc>

This command accepts the default flag --help.

cloudhub:vpc:environments:add

> cloudhub:vpc:environments:add [flags] <vpc> [environments...]

Assigns the Anypoint VPC defined in <vpc> to the environment(s) passed as argument(s) thereafter The --default flag allows setting an Anypoint VPC as the default for the organization, which applies to all environments which don’t have an Anypoint VPC explicitly associated.

This command also accepts the default --help flag.

cloudhub:vpc:environments:remove

> cloudhub:vpc:environments:remove [flag] <vpc> [environments...]

Removes the Anypoint VPC defined in <vpc> from the environment(s) passed as argument(s) thereafter

This command accepts the --default flag, that removes this Anypoint VPC as the default Anypoint VPC for the environment.

This command also accepts the default --help flag.

cloudhub:vpc:firewall-rules:add

> cloudhub:vpc:firewall-rules:add [flags] <vpc> <cidrBlock> <protocol> <fromPort> [toPort]

Adds a firewall rule to the Anypoint VPC defined in <vpc> using the values set in the variables:

Value Description Example

vpc

Name of the Anypoint VPC to which this load balancer is bound
If your Anypoint VPC name contains spaces, you need to pass it between ´"´ characters

vpc-demo

cidrBlock

IP address in CIDR notation for the firewall to allow

192.0.1.0/27

protocol

The protocol to use in the rules. It can be tcp or udp

tcp

fromPort

The port from which the firewall will allow requests. It can go from 0 to 65535

8888

toPort

optional In case a port range is needed, the fromPort and toPort variables define such range

8090

When creating an Anypoint VPC, make sure to allow your outbound address.
By default, all IP addresses are blocked, and you need to authorize IP addresses or range of addresses to your Anypoint VPC firewall rule.

This command accepts the default flag --help.

cloudhub:vpc:firewall-rules:describe

> cloudhub:vpc:firewall-rules:describe <vpc>

Describes all the firewall rules for the Anypoint VPC defined in <vpc>

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

cloudhub:vpc:firewall-rules:remove

> cloudhub:vpc:firewall-rules:remove <vpc> <index>

Removes the firewall rule from the workers inside the Anypoint VPC specified in <vpc> at the index passed in the <index>

This command accepts the default flag --help.

cloudhub:vpc:list

> cloudhub:vpc:list [flags]

Lists all available Anypoint VPCs
It returns ID, region, and environment of the network and whether it is the default Anypoint VPC or not.

Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.