CLI for CloudHub Dedicated Load Balancers | MuleSoft Documentation
# CLI for CloudHub Dedicated Load Balancers
Use the `cloudhub:load-balancer` commands to automate your CloudHub Dedicated Load Balancers Processes. For more information about how to use these commands, refer to the CloudHub documentation.
Command | Description  
---|---  
cloudhub:load-balancer:allowlist:add |  Adds an IP or range of IPs to the load balancer allowlist  
cloudhub:load-balancer:allowlist:remove |  Removes an IP or range of IPs from the load balancer allowlist  
cloudhub:load-balancer:create |  Creates a load balancer  
cloudhub:load-balancer:delete |  Deletes a load balancer  
cloudhub:load-balancer:describe |  Shows load balancer details  
cloudhub:load-balancer:dynamic-ips:disable |  Disables dynamic IPs  
cloudhub:load-balancer:dynamic-ips:enable |  Enables dynamic IPs  
cloudhub:load-balancer:list |  Lists all load balancers in an organization  
cloudhub:load-balancer:mappings:add |  Adds a proxy mapping rule at the specified index  
cloudhub:load-balancer:mappings:describe |  Lists the proxy mapping rules for a load balancer  
cloudhub:load-balancer:mappings:remove |  Removes a proxy mapping rule  
cloudhub:load-balancer:ssl-endpoint:add |  Adds an additional certificate to an existing load balancer  
cloudhub:load-balancer:ssl-endpoint:describe |  Shows the load balancer configuration for a particular certificate  
cloudhub:load-balancer:ssl-endpoint:remove |  Removes a certificate from a load balancer  
cloudhub:load-balancer:ssl-endpoint:set-default |  Sets the default certificate that the load balancer will serve  
cloudhub:load-balancer:start |  Starts a load balancer  
cloudhub:load-balancer:stop |  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 flags.
## 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 flags.
## 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  
---|---|---  
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.  
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 flags, this command accepts the following flags:
Flag | Description | Example  
---|---|---  
`--clientCertificate` |  Client certificate file |  `--clientCertificate /Users/mule/Documents/CertificateFile.pem`  
Certificate revocation list file |  `--crl /Users/mule/Documents/crlFile.pem`  
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).  
`--[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 flags.
## 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 accepts the default flags.
## 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 flags.
## 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 flags.
## 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 accepts the default flags.
## 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 of the load balancer to which this rule is applied. |  `testloadbalancer`  
Name of the URI of your input URL  
Name of the app of your output URL to which the request is forwarded |  `{app}-example`  
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]
```
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 of the load balancer to which this rule is applied. |  `testloadbalancer`  
Name of the URI of your input URL  
Name of the app of your output URL to which the request is forwarded |  `{app}-example`  
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 accepts the default flags.
## 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 flags.
## 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 for the load balancer. |  `newtestloadbalancer`  
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`  
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 flags, this command accepts the following flags:
Flag | Description | Example  
---|---|---  
`--clientCertificate` |  Client certificate file |  `--clientCertificate /Users/mule/Documents/CertificateFile.pem`  
Certificate Revocation List file |  `--clientCertificate /Users/mule/Documents/crlFile.pem`  
Supports TLSv1 in addition to TLSv1.1 and TLSv1.2  
`--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 certificate specified in `<certificateName>`
Use the `--output` flag to specify the response format. Supported values are `table` (default) and `json`.
This command accepts the default flags.
## 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 flags.
## 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 flags, this command accepts the following flags:
Flag | Description | Example  
---|---|---  
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 flags.
## cloudhub:load-balancer:stop
```
> cloudhub:load-balancer:stop [flags] <name>
```

Stops the load balancer specified in `<name>`
This command accepts the default flags.