Create a new deployment.
Many different databases can handle many different kinds of connections. To keep things consistent, we return all the possible types of connection keys in connection_strings but with only keys relevant to the deployment type populated. Also, some databases and drivers are "cluster-aware", meaning they can accept one connection string to connect to all nodes at once. Other databases or drivers, however, are not "cluster-aware" and require a separate connection string for each node. So, to keep the data structure consistent, connection strings are always returned as arrays.
API-consuming accounts with exclusively owned clusters can leverage the provisioning_tags
field to select from one of their own clusters. Tags can be added and managed on owned clusters through the /2016-07/clusters/:id and PATCH, POST and DELETE methods on 2016/clusters/:id/tags on the endpoint.
When a deployment is being provisioned, it will be provisioned to a cluster where all the provisioning_tags
exist in the clusters tags. If more than one cluster matches the tags,
then a cluster will be selected on a best-fit basis - least utilization, most available resources - from amongst the matched clusters.
Note that specifying a cluster id will automatically override the use of provisioning tags.
For multi-tenant deployments, the provisioning_tags
are ignored.
Returned JSON
Key | Description |
---|---|
id | The new deployment's id. |
name | The deployment's given name. |
connection_strings.health | The connection string querying the health of the deployment. |
connection_strings.ssh | Connection string for SSH tunnels. |
connection_strings.admin | The connection string (usually as URL) for connecting to the deployment's web based administration front-end. |
connection_strings.ssh_admin | The connection string for SSH enabled admin (unused). |
connection_strings.cli | An array of connection strings. The array elements are command line/shell commands for connecting from the console to the database. |
connection_string.direct | An array of connection strings. The array elements are URLs to be used by applications to connect to the database. |
provision_recipe_id | A recipe track for the status of database provisioning. |
ca_certificate_base64 | A base64 CA Certificate to be used by clients connecting to the database when it is deployed to verify SSL connections. (will be null for deployments that have Let's Encrypt enabled) |
type | Type of database being deployed. |
created_at | Timestamp for start of deployment process. |
notes | The notes associated with the deployment. |
customer_billing_code | The editable billing code associated with the deployment. |
cluster_id | The id of the cluster that this deployment is deployed on. |
version | The version number of the deployment. |
Returned Links
One or more of the following links will be present in the JSON _links object. All links are in templated format, meaning that an {?embed}
string within the link is the template's marker to add further parameters:
Link | Description |
---|---|
compose_web_ui | A URL which serves as a link to the Compose console where this deployment can be administered from a browser. |
scalings | A URI for an endpoint which offers scaling information about this deployment. |
backups | A URI for an endpoint which offers backups and information about backups for this deployment. |
alerts | A URI for an endpoint which offers information on the health of this deployment. |
cluster | A URI which returns information on the cluster where this deployment resides. |