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

idThe new deployment's id.
nameThe deployment's given name.
connection_strings.healthThe connection string querying the health of the deployment.
connection_strings.sshConnection string for SSH tunnels.
connection_strings.adminThe connection string (usually as URL) for connecting to the deployment's web based administration front-end.
connection_strings.ssh_adminThe connection string for SSH enabled admin (unused).
connection_strings.cliAn array of connection strings. The array elements are command line/shell commands for connecting from the console to the database.
connection_string.directAn array of connection strings. The array elements are URLs to be used by applications to connect to the database.
provision_recipe_idA recipe track for the status of database provisioning.
ca_certificate_base64A 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)
typeType of database being deployed.
created_atTimestamp for start of deployment process.
notesThe notes associated with the deployment.
customer_billing_codeThe editable billing code associated with the deployment.
cluster_idThe id of the cluster that this deployment is deployed on.
versionThe 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:

compose_web_uiA URL which serves as a link to the Compose console where this deployment can be administered from a browser.
scalingsA URI for an endpoint which offers scaling information about this deployment.
backupsA URI for an endpoint which offers backups and information about backups for this deployment.
alertsA URI for an endpoint which offers information on the health of this deployment.
clusterA URI which returns information on the cluster where this deployment resides.
Click Try It! to start a request and see the response here!