Download OpenAPI specification:Download
This API does not support parallel API calls.
Parallel calls, even though unsuccessul, will not return an error code. NOTE: this restriction applies to any and all API calls made to the Ops Manager. Serial API calls made at the same time by multiple users are also unsupported. For the purposes of this restriction, Ops Manager does not care what user makes the API call, just when the call is made.
You must pass a token to each API endpoint. To get a token, and curl an API endpoint using that token, follow these instructions:
From a command line with Ruby installed, install the cf-uaac gem:
gem install cf-uaac
Target your Tanzu Ops Manager IP:
> uaac target https://YOUR_OPSMAN_IP/uaa
Log in to your Tanzu Ops Manager with the Client name "opsman" and empty Client secret:
> uaac token owner get
Client name: opsman
Client secret: JUST_PRESS_ENTER
User name: YOUR_USERNAME_HERE
Password: YOUR_PASSWORD_HERE
uaac
now has your token and you can now use uaac curl
:
> uaac curl <ENDPOINT>
> uaac curl -X POST -H "Content-type: application/json" <ENDPOINT> -d '<JSON BODY>'
Use uaac context
and get the access_token
:
curl -H "Authorization: Bearer UAA_ACCESS_TOKEN" <ENDPOINT>
Advanced manifest configuration allows the user to set any property on the instance groups and networks sections of the Bosh Director manifest, even if Tanzu Ops Manager does not provide support for that property.
Advanced mode required.
This endpoint will list the currently configured overrides for the BOSH Director. Overrides will be applied in order, so the last override will be applied last.
{- "overrides": [
- {
- "section": "instance_groups",
- "data": {
- "director": {
- "remove_dev_tools": false
}
}
}, - {
- "section": "networks",
- "data": {
- "first_network": {
- "type": "dynamic"
}
}
}
]
}
This endpoint will replace the currently configured overrides for the BOSH Director. These overrides will be merged into the BOSH Director manifest. No validation is done on the data provided, other than checking that the data payload is a hash.
Only job properties of the bosh
instance group and networks can be overridden.
Given the following overrides:
{
"overrides": [
{
"section": "instance_groups",
"data": {
"director": {
"remove_dev_tools": false
}
}
},
{
"section": "networks",
"data": {
"first-network": {
"type": "dynamic"
}
}
}
]
}
This will result in the following director manifest:
name: p-bosh
....
networks:
- name: first-network
type: dynamic # overridden value
.... # other values not affected
....
instance_groups:
0:
name: bosh
....
properties:
...
director:
.... # other values are not affected
remove_dev_tools: false # overridden value
Array of objects (DirectorManifestOverride) A list of overrides that will be applied to the BOSH Director manifest. Overrides will be applied in order, so the last override will be applied last. |
{- "overrides": [
- {
- "section": "instance_groups",
- "data": {
- "director": {
- "remove_dev_tools": false
}
}
}
]
}
{ }
This endpoint will list the currently configured runtime config overrides for the BOSH Director. Overrides will be applied in order, so the last override will be applied last.
{- "overrides": [
- {
- "runtime_config_name": "ops_manager_dns_runtime",
- "addon_name": "bosh-dns",
- "data": {
- "key": "value"
}
}
]
}
This endpoint will replace the currently configured runtime config overrides for the BOSH Director. These overrides will be merged into the BOSH Director runtime configs. No validation is done on the value provided in the data key, other than checking that the data payload is a hash.
Given the following overrides:
{
"overrides": [
{
"runtime_config_name": "ops_manager_dns_runtime",
"addon_name": "bosh-dns",
"data": {
"log_level": "ERROR"
}
}
]
}
This will result in the following runtime config:
name: ops_manager_dns_runtime
manifest:
addons:
- name: bosh-dns
jobs:
- release: bosh-dns
name: bosh-dns
properties:
log_level: ERROR
... # existing properties
Array of objects (DirectorManifestOverride) A list of overrides that will be applied to the BOSH Director manifest. Overrides will be applied in order, so the last override will be applied last. |
{- "overrides": [
- {
- "section": "ops_manager_dns_runtime",
- "addon_name": "bosh-dns",
- "data": {
- "log_level": "ERROR"
}
}
]
}
{ }
This endpoint will list the currently configured overrides for the given Product. Overrides will be applied in order, so the last override will be applied last.
product_guid required | string The guid of the product |
{- "overrides": [
- {
- "section": "features",
- "data": {
- "use_dns_addresses": true
}
}, - {
- "section": "update",
- "data": {
- "canaries": 1
}
}
]
}
This endpoint will replace the currently configured overrides for the given Product. These overrides will be merged into the Product's BOSH manifest. No validation is done on the data provided, other than checking that the data payload is a hash.
Only the features
and update
block of the manifest can be updated.
Given the following overrides:
{
"overrides": [
{
"section": "features",
"data": {
"use_dns_addresses": true
}
},
{
"section": "update",
"data": {
"canaries": 4
}
}
]
}
This will result in the following director manifest:
name: my-product
....
features:
use_dns_addresses: true
.... # other values not affected
....
update:
canaries: 4
.... # other values are not affected
product_guid required | string The guid of the product |
Array of objects (ProductManifestOverride) A list of overrides that will be applied to the given Product manifest. Overrides will be applied in order, so the last override will be applied last. |
{- "overrides": [
- {
- "section": "features",
- "data": {
- "use_dns_addresses": true
}
}
]
}
{ }
Saves installation state as though the deployment was triggered with the "Apply Changes" button, without actually deploying. This prepares the installation manifest, but does not invoke BOSH.
After commit, each product's manifest can fetched using the
/api/v0/deployed/product/{product_guid}/manifest
endpoint.
If you see the commit endpoint return the following error:
This endpoint is currently deactivated because one or more of the products
you are trying to upgrade have credentials to migrate to credhub.
See the Migrating Credentials to Credhub section of the API docs to activate this endpoint again.
This endpoint can be activated again by following the steps described in the Migrating Credentials to Credhub section.
ignore_warnings | boolean When true, bypass warnings from ignorable verifiers |
{- "ignore_warnings": true
}
If there is no currently running Apply Changes then it returns 200 with
an exit event of type no install in progress
.
This endpoint streams the logs of the currently running Apply Changes using the Server Sent Events format.
It starts by streaming an event named step_info
which includes
an array of JSON data with the name and descriptions of each
ordered install step. Next, it will stream all of the log which has
already happened during this Apply Changes.
Then, it will stream realtime events and logs as they happen.
Mixed in with lines of logs, it will send events for steps called
step_started
and step_finished
, and an exit event at the end.
The step_started
and step_finished
events have JSON data,
that include an id
key corresponding to the JSON sent in the step_info
event.
The exit
event has JSON data which includes the exit code of the last
command from the Apply Changes.
A exit code of 0 means success, and any other exit code indicates failure.
When the Apply Changes ends, the server closes the client's connection.
Note: The example response included in this documentation has been abbreviated for the sake of brevity.
event:step_info data:[{"id":"bosh_product.deploying","description":"Installing BOSH"},{"id":"bosh.uploading_runtime_config_releases","description":"Uploading runtime config releases to the director"},{"id":"bosh.updating_cloud_config","description":"Updating BOSH director with 2.0 cloud config"},{"id":"uaa_config.resetting","description":"Updating Internal UAA Configuration"},{"id":"example-product.runtime_configs","description":"Updating runtime configs for example-product"},{"id":"upload_assets.uploading_stemcell.example-product-f40a206c0af92de0ff9e","description":"Uploading stemcell for Tanzu Ops Manager: Example Product"},{"id":"upload_assets.uploading_releases.example-product-f40a206c0af92de0ff9e","description":"Uploading releases for Tanzu Ops Manager: Example Product"},{"id":"migrate_variables.migrating.example-product-f40a206c0af92de0ff9e","description":"Migrating credentials to director CredHub"},{"id":"bosh.deploying.example-product-f40a206c0af92de0ff9e","description":"Installing Tanzu Ops Manager: Example Product"},{"id":"errands.running.example-product-f40a206c0af92de0ff9e.example-errand","description":"Running errand an errand to log properties for Tanzu Ops Manager: Example Product"},{"id":"errands.running.example-product-f40a206c0af92de0ff9e.example_colocated_errand","description":"Running errand colocated errand on web_server for Tanzu Ops Manager: Example Product"},{"id":"clean_up_bosh.cleaning_up","description":"Cleaning up BOSH director"}] event:step_state_changed data:{"type":"step_started","id":"bosh_product.deploying"} data:===== 2018-02-16 22:25:47 UTC Running "/usr/local/bin/bosh --no-color --non-interactive --tty create-env /tempest_install_dir/default/deployments/bosh.yml" data:Deployment manifest: '/tempest_install_dir/default/deployments/bosh.yml' : keep alive data:Deployment state: '/tempest_install_dir/default/deployments/bosh-state.json' event:step_state_changed data:{"type":"step_finished","id":"bosh_product.deploying"} event:step_state_changed data:{"type":"step_started","id":"clean_up_bosh.cleaning_up"} data:===== 2018-02-16 22:27:18 UTC Finished "/usr/local/bin/bosh --no-color --non-interactive --tty --environment=172.18.0.10 clean-up"; Duration: 0s; Exit Status: 0 event:step_state_changed data:{"type":"step_finished","id":"clean_up_bosh.cleaning_up"} data:Exited with 0. event:exit data:{"type":"exit","code":0}
Returns a list of products deployed in each Apply Change All products which are deployed as part of an Apply Change will be listed in one of the following groups:
additions
: newly installed productsupdates
: settings were changed or the product was upgradeddeletions
: the product was deletedunchanged
: none of the above, but the product was still redeployed{- "installations": [
- {
- "user_name": "admin",
- "finished_at": "2018-04-26T03:27:54.035Z",
- "started_at": "2018-04-26T03:19:00.855Z",
- "status": "succeeded",
- "additions": [ ],
- "deletions": [
- {
- "identifier": "another-example-product",
- "label": "Another Example Product",
- "product_version": "2.1.4",
- "change_type": "deletion",
- "deployment_status": "successful",
- "guid": "another-example-product-1ba749ac9f6fcb7181ee",
- "started_at": "2018-04-26T03:22:00.855Z",
- "finished_at": "2018-04-26T03:24:54.035Z"
}
], - "updates": [
- {
- "identifier": "example-product",
- "label": "Tanzu Ops Manager: Example Product",
- "product_version": "2.1.6",
- "change_type": "update",
- "deployment_status": "successful",
- "guid": "example-product-4bf791dcdba551420a1f",
- "started_at": "2018-04-26T03:25:00.855Z",
- "finished_at": "2018-04-26T03:26:54.035Z"
}
], - "unchanged": [ ],
- "id": 2
}
]
}
Transmits pending changes to BOSH.
Submitting a POST request to this endpoint is equivalent to triggering the Apply Changes
button in the GUI.
When deploy_products is an array of product guids ["my-guid", "another-guid"]
,
it will deploy the director tile and all passed-in products.
If there are any tiles being deployed,
which are dependent on tiles with staged changes not being deployed,
there will be validation errors and the deploy will not occur.
ignore_warnings | boolean When true, bypass warnings from ignorable verifiers. (Optional) |
deploy_products | string Enum: "all" "none" "<collection of product guids>" Apply changes only for the specified products. Will always apply changes for the BOSH Director. |
errands | object Hash of products with their enabled errands. (Optional) Post Deploy errands support the following states:
Pre Delete errands support the following states:
|
{- "deploy_products": "all",
- "errands": {
- "product_1_guid": {
- "run_pre_delete": {
- "errand_a": true,
- "errand_b": false,
- "errand_c": "default"
}
}, - "product_2_guid": {
- "run_post_deploy": {
- "errand_e": true,
- "errand_f": false,
- "errand_g": true,
- "errand_h": "default"
}
}
}, - "ignore_warnings": true
}
{- "install": {
- "id": 0
}
}
List of products and errands, and any pending changes that might be applied.
Products will be listed in deployment order.
{- "product_changes": [
- {
- "guid": "example-product-3-guid",
- "action": "install",
- "errands": [ ],
- "staged": {
- "guid": "example-product-3-guid",
- "identifier": "example-product-3",
- "label": "Tanzu Ops Manager: Example Product 3",
- "version": "1.0-build.1",
- "depends_on": [
- {
- "identifier": "example-product1",
- "product_version": "1.0-build.0"
}, - {
- "identifier": "example-product-2",
- "product_version": "1.0-build.0"
}
], - "stemcells": [
- {
- "os": "ubuntu-xenial",
- "version": "1.1"
}
]
}, - "deployed": null,
- "last_successful_deployed": null,
- "completeness_checks": {
- "configuration_complete": true,
- "stemcell_present": true,
- "configurable_properties_valid": true
}
}
]
}
decryption_passphrase | string |
admin_user_name | string |
admin_password | string |
identity_provider | string Enum: "internal" "saml" "ldap" |
{- "authentication": {
- "decryption_passphrase": "example-passphrase",
- "identity_provider": "internal",
- "admin_user_name": "user-ed942e358eb61868dc87",
- "admin_password": "example-password",
- "admin_password_confirmation": "example-password"
}
}
{ }
admin_user_name | string (User name) |
admin_password | string (Password) |
admin_password_confirmation | string (Confirm password) |
identity_provider | string Enum: "ldap" "saml" "internal" |
decryption_passphrase | string (Decryption passphrase) |
decryption_passphrase_confirmation | string (Confirm decryption passphrase) |
eula_accepted | boolean (Accept EULA) |
http_proxy | string (Proxy for outbound HTTP network traffic) |
https_proxy | string (Proxy for outbound HTTPS network traffic) |
no_proxy | string (Comma-separated list of hosts that do not go through the proxy) |
{- "setup": {
- "decryption_passphrase": "example-passphrase",
- "decryption_passphrase_confirmation": "example-passphrase",
- "eula_accepted": "true",
- "identity_provider": "internal",
- "admin_user_name": "user-ed942e358eb61868dc87",
- "admin_password": "example-password",
- "admin_password_confirmation": "example-password",
- "no_proxy": "127.0.0.1"
}
}
{ }
Deletes the availability zone. If the IaaS does not support availability zones an error will be returned.
Availability zones that are already on a deployed product cannot be deleted.
az_guid required | string |
{ }
Fetches the availability zone.
iaas_configuration_guid
is optional if you only have a single IaaS configuration. Multiple IaaS configurations are only supported on vSphere at this time.
If the IaaS does not support availability zones an error will be returned.
az_guid required | string |
{- "availability_zone": {
- "name": "Availability Zone 1",
- "guid": "guid-1",
- "iaas_configuration_guid": "iaas-configuration-guid"
}
}
Update an availability zone.
There are different fields for availability zones per IaaS. Look at the examples to see the valid fields for each IaaS.
iaas_configuration_guid
is optional if you only have a single IaaS configuration. Multiple IaaS configurations are only supported on vSphere at this time.
Availability zones cannot be updated on Azure.
Availability zones that are already on a deployed product cannot be updated.
az_guid required | string |
required | object |
{- "availability_zone": {
- "name": "us-west-1a",
- "guid": "existing-guid"
}
}
{- "availability_zone": {
- "name": "us-west-1a",
- "guid": "existing-guid",
- "iaas_configuration_guid": "iaas-configuration-guid"
}
}
Fetches the collection of availability zones.
iaas_configuration_guid
is optional if you only have a single IaaS configuration. Multiple IaaS configurations are only supported on vSphere at this time.
If the IaaS does not support availability zones an error will be returned.
{- "availability_zones": [
- {
- "name": "Availability Zone 1",
- "guid": "guid-1",
- "iaas_configuration_guid": "iaas-configuration-guid"
}, - {
- "name": "Availability Zone 2",
- "guid": "guid-4",
- "iaas_configuration_guid": "iaas-configuration-guid"
}
]
}
Creates an availability zone.
iaas_configuration_guid
is optional if you only have a single IaaS configuration. Multiple IaaS configurations are only supported on vSphere at this time.
Modifying availability zones is not supported on Azure
required | object |
{- "availability_zone": {
- "name": "Availability Zone 1"
}
}
{- "availability_zone": {
- "name": "Availability Zone 1",
- "iaas_configuration_guid": "iaas-configuration-guid",
- "guid": "guid-1"
}
}
Use of this endpoint is not recommended. Please use create, update, or delete.
If you are using the multi-datacenter feature on vSphere, this endpoint is not available. On all other IaaS, the iaas_configuration_guid property of availability zones will be ignored and automatically set to the default configuration.
This endpoint allows you to completely replace the collection of availability zones. OpsManager uses GUIDs to match existing objects in the collection. Unmatched availability zones will be added, matched availability zones will be updated, and omitted availability zones will be deleted.
There are different fields for availability zones per IaaS. Look at the examples to see the valid fields for each IaaS. Availability zones cannot be updated or replaced on Azure.
Availability zones that are already on a deployed product cannot be updated or deleted.
required | Array of objects |
{- "availability_zones": [
- {
- "guid": "existing-az-guid",
- "name": "AZ1",
- "clusters": [
- {
- "guid": "existing-cluster-guid",
- "cluster": "pizza-boxes",
- "resource_pool": "maraudon",
- "host_group": "my-host-group",
- "drs_rule": "SHOULD"
}, - {
- "cluster": "marinara",
- "resource_pool": "maraudon"
}
]
}
]
}
{- "warnings": {
- "errors": {
- "base": [
- "Availability zone(s) were saved but there are verification errors which may prevent you from deploying",
- "Cannot find availability zone 'availability-zone-2', type: AvailabilityZonesVerifier"
]
}
}
}
Light tiles contain pointers to installation binaries and these pointers can be changed in circumstances where the default location is inaccessible (e.g. in an airgapped or firewalled network).
product_guid required | string The guid of the product |
{
}
When base_releases_url
is set, the default pointers are ignored and
BOSH attempts to download releases from the location specified.
product_guid required | string The guid of the product |
base_release_url | string |
{
}
{
}
This returns a new RSA public/private certificate signed by Ops Manager's root CA certificate.
The returned certificate is not stored by Tanzu Ops Manager.
domains | Array of strings List of wildcard domains |
{- "domains": [
- "*.example.com",
- "*.sub.example.com"
]
}
{- "certificate": "-----BEGIN CERTIFICATE-----\nMIIC+zCCAeOgAwI...",
- "key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCA..."
}
This returns information about all of the RSA and CA certificates for the deployed BOSH Director and the other deployed products.
This includes any product properties of type rsa_cert_credentials
or ca_certificate
as well as credhub-generated certificates for BOSH DNS.
The location will indicate where the certificate was generated (either ops_manager
or credhub
).
Certificate authorities tracked by OpsManager are returned in the list and are marked as "is_ca": true
.
Learn how to perform a certificate rotation by following the steps listed in the documentation for Managing Certificates
expires_within | string Enum: "d" "w" "m" "y" d = days, w = weeks, m = months, y = years. 2d = 2 days, 3w = 3 weeks |
show_excluded_from_rotation_only | boolean Enum: true false When true, only return certificates that are excluded from Tanzu Ops Manager managed ceritifcate rotation |
{- "configurable": false,
- "is_ca": true,
- "property_reference": ".properties.nats_client_ca.b7640db782ba9547703c",
- "property_type": "rsa_cert_credentials",
- "product_guid": "ops_manager",
- "location": "ops_manager",
- "variable_path": null,
- "issuer": "/C=US/O=Pivotal/CN=bosh-nats-ca",
- "valid_from": "2019-07-11T17:11:16Z",
- "valid_until": "2023-07-12T17:11:16Z"
}
Returns a product's cloud configs for a given Apply Change
Use /api/v0/installations/{installation_id}/products/director/cloud_config
to get the
director cloud config.
You can use GET /api/v0/installations
to list the IDs and products guids of each historical Apply Change.
installation_id required | number The installation id |
product_guid required | string The guid of the product |
{- "cloud_config": {
- "azs": [
- {
- "name": "us-central1-a",
- "cpi": "b8fbbcc58f283bd61b29",
- "cloud_properties": {
- "zone": "us-central1-a"
}
}
], - "networks": [
- {
- "name": "first-network",
- "type": "manual",
- "subnets": [
- {
- "azs": [
- "us-central1-a"
], - "cloud_properties": {
- "subnetwork_name": "daily-cheese-management-subnet",
- "network_name": "daily-cheese-pcf-network"
}
}
]
}
], - "vm_types": [
- {
- "name": "micro",
- "cloud_properties": {
- "cpu": 1,
- "ram": 1024
}
}
]
}
}
{- "cloud_config": {
- "azs": [
- {
- "name": "us-central1-a",
- "cpi": "b8fbbcc58f283bd61b29",
- "cloud_properties": {
- "zone": "us-central1-a"
}
}
], - "networks": [
- {
- "name": "first-network",
- "type": "manual",
- "subnets": [
- {
- "azs": [
- "us-central1-a"
], - "cloud_properties": {
- "subnetwork_name": "daily-cheese-management-subnet",
- "network_name": "daily-cheese-pcf-network"
}
}
]
}
], - "vm_types": [
- {
- "name": "micro",
- "cloud_properties": {
- "cpu": 1,
- "ram": 1024
}
}
]
}
}
{- "cloud_config": {
- "azs": [
- {
- "name": "us-central1-a",
- "cpi": "b8fbbcc58f283bd61b29",
- "cloud_properties": {
- "zone": "us-central1-a"
}
}
], - "networks": [
- {
- "name": "first-network",
- "type": "manual",
- "subnets": [
- {
- "azs": [
- "us-central1-a"
], - "cloud_properties": {
- "subnetwork_name": "daily-cheese-management-subnet",
- "network_name": "daily-cheese-pcf-network"
}
}
]
}
], - "vm_types": [
- {
- "name": "micro",
- "cloud_properties": {
- "cpu": 1,
- "ram": 1024
}
}
]
}
}
Returns the BOSH CPI configs for a given installation id.
You can use GET /api/v0/installations
to list the IDs and products guids of each historical installation.
installation_id required | number The installation id |
{- "cpis": [
- {
- "name": "71706aab76be17f1e06e",
- "type": "google",
- "migrated_from": [
- {
- "name": ""
}
], - "properties": { }
}
]
}
Returns CPI configs generated based on your current settings. The generated CPI configs are used during Apply Changes.
{- "cpis": [
- {
- "name": "71706aab76be17f1e06e",
- "type": "google",
- "migrated_from": [
- {
- "name": ""
}
], - "properties": { }
}
]
}
{- "credential": {
- "type": "rsa_cert_credentials",
- "value": {
- "private_key_pem": "-----BEGIN RSA PRIVATE KEY-----\nASDFGR...GBKMRK\n-----END RSA PRIVATE KEY-----\n",
- "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBg...T9P\ngwIDAQAB\n-----END PUBLIC KEY-----\n"
}
}
}
{- "credential_ids": [
- "vm_credentials",
- "agent_credentials",
- "director_credentials",
- "nats_credentials",
- "nats_client_ca",
- "nats_server_certificate",
- "nats_director_client_certificate",
- "nats_health_monitor_client_certificate",
- "postgres_credentials",
- "blobstore_credentials",
- "health_monitor_credentials",
- "uaa_admin_user_credentials",
- "uaa_login_client_credentials",
- "uaa_jwt_key",
- "bbr_ssh_credentials",
- "uaa_bbr_client_credentials",
- "bosh_commandline_credentials",
- "blobstore_certificate",
- "director_metrics_server_client_certificate"
]
}
Returns the credentials for a specified credential reference as a hash.
product_guid required | string The guid of the product |
id required | string |
{- "credential": {
- "type": "simple_credentials",
- "value": {
- "identity": "carmen-sandiego",
- "password": "example-hiding-somewhere"
}
}
}
Returns a list of references for credential properties for the given deployed product, except for VM credentials. These references can be used to get the credentials themselves using the credentials endpoint.
product_guid required | string The guid of the product |
{- "credentials": [
- ".properties.some-credentials",
- ".my-job.some-credentials"
]
}
If you are using Tanzu Ops Manager solely as a manifest generator, after you download the list of credentials for all products using /api/v0/staged/products/credhub_credentials and load them into your CredHub yourself with the CredHub CLI.
You can use this endpoint to delete staged variable migrations when upgrading products that have credentials to migrate into Credhub before you can use the /api/v0/staged/installations/commit endpoint.
RESPONSE HEADERS: Content-Type: application/json; charset=utf-8 RESPONSE BODY: {}
Tanzu Ops Manager will migrate credentials to CredHub for you.
However, if you are using Tanzu Ops Manager solely as a manifest generator, using /api/v0/staged/installations/commit, then you need to download the list of credentials for all products from this endpoint and load them into your CredHub yourself with the CredHub CLI, before you can use the /api/v0/staged/installations/commit endpoint.
RESPONSE HEADERS: Content-Type: application/x-yaml; charset=utf-8 RESPONSE BODY: --- credentials: - name: "/p-bosh/example-product-d225c410ff8109b672d4/generated-secret-migrated-to-credhub" type: password value: nJw80ZA_WQDeVL2W5lDxT5Uz9RBA9xx- - name: "/p-bosh/example-product-d225c410ff8109b672d4/generated-rsa-key-migrated-to-credhub" type: rsa value: public_key: | -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwe0sabFrSoOjVhywALi6 ... k3L/ujo3JAjGqBCNvhaaw+otEQazbwVoWVi76rRLmSJHdwlDP2App6n79EORTT1y /QIDAQAB -----END PUBLIC KEY----- private_key: | -----BEGIN RSA PRIVATE KEY----- MIIEpgIBAAKCAQEAwe0sabFrSoOjVhywALi6g4tr86uq42ihu/76txAj4kVzHM5J ... vidadcyLwNmTBEnjPlfC6hmAiKYGYUl6mNOixIetpf6eeNBGq+aCpWgSa/t+Wb7Q X41Fbruu6xHzX9P5SBI9Ts0aZxEQeukbzlVgx9j1BSQ+YH5SmxuE4yaF -----END RSA PRIVATE KEY----- - name: "/p-bosh/example-product-d225c410ff8109b672d4/generated-simple-creds-migrated-to-credhub" type: user value: username: QuiWk_hQKcKpokd-dVTjqRqVfMa8M-4E password: pvWXxO8_pNC8aArqT4ku3Me-U0-VORdV
Get a list of all add_job_to_instance_group type operations which were previously added to the BOSH Director tile
{- "add_job_to_instance_group": [
- {
- "guid": "op-73f3bf6a4794",
- "product_guid": "p-bosh-ffdfee501e5b108a9046",
- "instance_group": "bosh",
- "job_name": "watcher",
- "release_name": "clamav",
- "release_sha1": "3d8ce8f0000c54e8cae990e7c010f10b52b54e6f",
- "job_properties": {
- "options": "for-clamav"
}
}, - {
- "guid": "op-94f7bf4a7724",
- "product_guid": "p-bosh-ffdfee501e5b108a9046",
- "instance_group": "bosh",
- "job_name": "other_job",
- "release_name": "clamav",
- "release_sha1": "3d8ce8f0000c54e8cae990e7c010f10b52b54e6f",
- "job_properties": {
- "other_options": "for_other_job"
}
}
]
}
Add an arbitrary job to the BOSH Director VM. For example, this could be used to run your favorite anti-virus software on the Director VM, assuming that the anti-virus software has already been packaged as a BOSH release.
Note that if you delete the BOSH Director tile, and then install the BOSH Director tile again, your manifest operations which were bound to the original BOSH Director tile will no longer apply. However, you can use this endpoint to add them again.
instance_group required | string The name of the instance group (VMs) on which you would like to add a job. For now, this must be "bosh". |
release_name required | string The name of the BOSH release that you would like to use on the Director VM. |
release_url required | string An http or https URL, which must be reachable by the OpsManager VM, used to download your BOSH release file during Apply Changes. |
release_sha1 required | string The SHA1 checksum of the release file. Required when the release_url is http or https (so, for now, always required). |
job_name required | string The name of the job from the reference BOSH release that you would like to add to the Director VM. |
job_properties required | object The properties of your job, used to configure the software which you are installing on the Director VM. This must be a hash, but can be an empty hash if you have no configuration for your job. |
{- "add_job_to_instance_group": {
- "instance_group": "bosh",
- "job_name": "watcher",
- "release_name": "clamav",
- "release_sha1": "3d8ce8f0000c54e8cae990e7c010f10b52b54e6f",
- "job_properties": {
- "options": "for-clamav"
}
}
}
{- "guid": "op-73f3bf6a4794",
- "product_guid": "p-bosh-ffdfee501e5b108a9046",
- "instance_group": "bosh",
- "job_name": "watcher",
- "release_name": "clamav",
- "release_sha1": "3d8ce8f0000c54e8cae990e7c010f10b52b54e6f",
- "job_properties": {
- "options": "for-clamav"
}
}
Set the values for the custom SSL certificate for OpsManager.
object |
{- "ssl_certificate": {
- "certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "private_key": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIBswoijfsA..."
}
}
{- "ssl_certificate": {
- "certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "private_key": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIBswoijfsA..."
}
}
{- "syslog": {
- "enabled": true,
- "address": "1.2.3.4",
- "port": "514",
- "transport_protocol": "tcp",
- "tls_enabled": true,
- "permitted_peer": "*.example.com",
- "ssl_ca_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "queue_size": null,
- "forward_debug_logs": false,
- "custom_rsyslog_configuration": "if $message contains 'test' then stop"
}
}
Set the values of custom banners.
object |
{- "syslog": {
- "enabled": true,
- "address": "5.6.7.8",
- "port": "514",
- "transport_protocol": "tcp",
- "tls_enabled": true,
- "permitted_peer": "*.example.com",
- "ssl_ca_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "queue_size": 100000,
- "forward_debug_logs": true,
- "custom_rsyslog_configuration": "if $message contains 'test' then stop"
}
}
{- "syslog": {
- "enabled": true,
- "address": "1.2.3.4",
- "port": "514",
- "transport_protocol": "tcp",
- "tls_enabled": true,
- "permitted_peer": "*.example.com",
- "ssl_ca_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "queue_size": null,
- "forward_debug_logs": false,
- "custom_rsyslog_configuration": "if $message contains 'test' then stop"
}
}
When the application reboots after initial setup, it requires an operator to enter the decryption passphrase once to decrypt its internal datastore.
passphrase | string |
{- "passphrase": "example-passphrase"
}
Retrieve a diagnostic report with general information about the state of your Tanzu Ops Manager.
{- "versions": {
- "installation_schema_version": "2.5",
- "metadata_version": "2.5",
- "release_version": "2.5.0-build.8",
- "javascript_migrations_version": "v1"
}, - "generation_time": "2016-04-22T18:06:46Z",
- "infrastructure_type": "vsphere",
- "director_configuration": {
- "bosh_recreate_on_next_deploy": false,
- "resurrector_enabled": false,
- "blobstore_type": "local",
- "max_threads": null,
- "database_type": "internal",
- "ntp_servers": [ ],
- "hm_pager_duty_enabled": false,
- "hm_emailer_enabled": false,
- "vm_password_type": "generate"
}, - "releases": [
- "example-release-14.tgz"
], - "available_stemcells": [
- {
- "filename": "bosh-stemcell-3215-vsphere-esxi-ubuntu-trusty-go_agent.tgz",
- "os": "ubuntu-trusty",
- "version": "3215"
}, - {
- "filename": "bosh-stemcell-1709.20-vsphere-esxi-windows2016-go_agent.tgz",
- "os": "windows2016",
- "version": "1709.20"
}
], - "product_templates": [
- "e08002f028a5.yml"
], - "added_products": {
- "deployed": [
- {
- "name": "p-bosh",
- "version": "2.5.0-build.8",
- "stemcells": [
- {
- "filename": "bosh-stemcell-3215-vsphere-esxi-ubuntu-trusty-go_agent.tgz",
- "os": "ubuntu-trusty",
- "version": "3215"
}
]
}, - {
- "name": "example-product",
- "version": "1.0.0.0-alpha",
- "stemcells": [
- {
- "filename": "bosh-stemcell-3215-vsphere-esxi-ubuntu-trusty-go_agent.tgz",
- "os": "ubuntu-trusty",
- "version": "3215"
}
]
}
], - "staged": [
- {
- "name": "p-bosh",
- "version": "2.5.0-build.8",
- "stemcells": [
- {
- "filename": "bosh-stemcell-3215-vsphere-esxi-ubuntu-trusty-go_agent.tgz",
- "os": "ubuntu-trusty",
- "version": "3215"
}
]
}, - {
- "name": "example-product",
- "version": "1.0.0.0-alpha",
- "stemcells": [
- {
- "filename": "bosh-stemcell-3215-vsphere-esxi-ubuntu-trusty-go_agent.tgz",
- "os": "ubuntu-trusty",
- "version": "3215"
}, - {
- "filename": "bosh-stemcell-1709.20-vsphere-esxi-windows2016-go_agent.tgz",
- "os": "windows2016",
- "version": "1709.20"
}
]
}
]
}
}
Returns the diff of the manifest, cloud config, CPI configs, and runtime configs between the staged state and last successful deployment of the BOSH director.
{- "manifest": {
- "status": "different",
- "diff": " properties:\n+ host: example.com\n- host: localhost"
}, - "cloud_config": {
- "status": "same",
- "diff": ""
}, - "runtime_configs": [
- {
- "name": "opsmanager_dns_runtime_config",
- "status": "different",
- "diff": " addons:\n - name: opsmanager_dns\n jobs:\n - name: bosh-dns\n properties:\n+ timeout: 100\n- timeout: 30"
}, - {
- "name": "director_runtime_config",
- "status": "to_be_deleted",
- "diff": null
}
], - "cpi_configs": [
- {
- "guid": "71706aab76be17f1e06e",
- "iaas_configuration_name": "default",
- "status": "to_be_installed",
- "diff": null
}
]
}
Returns the diff of the manifest and runtime configs between the staged state and last successful deployment of a product.
{- "manifest": {
- "status": "different",
- "diff": " properties:\n+ host: example.com\n- host: localhost"
}, - "runtime_configs": [
- {
- "name": "a-runtime-config",
- "status": "different",
- "diff": " addons:\n - name: a-runtime-config\n jobs:\n - name: a-job\n properties:\n+ timeout: 100\n- timeout: 30"
}
]
}
When overridden by custom types, this endpoint returns the custom types and the response will include the dates that the custom disk types were created and modified.
{- "disk_types": [
- {
- "name": "1024",
- "builtin": true,
- "size_mb": 1024
}, - {
- "name": "2048",
- "builtin": true,
- "size_mb": 2048
}, - {
- "name": "5120",
- "builtin": true,
- "size_mb": 5120
}
]
}
When overridden, the default types will be replaced by operator provided sizes.
Operators can repeatedly update the list of available sizes,
and any jobs using no-longer-available-sizes will be returned to the default of automatic
.
Array of objects |
{- "disk_types": [
- {
- "size_mb": 999,
- "name": "large-disk"
}, - {
- "size_mb": 888
}, - {
- "size_mb": 777,
- "additional_cloud_properties": {
- "iops": 1000
}
}
]
}
{- "disk_types": [
- {
- "name": "large-disk",
- "size_mb": 999
}, - {
- "name": "888",
- "size_mb": 888
}, - {
- "name": "777",
- "size_mb": 777,
- "additional_cloud_properties": {
- "iops": 1000
}
}
]
}
Errands allowed to run as post_deploy or pre_delete are determined by the product template.
The presence of the 'post_deploy' or 'pre_delete' key in the response indicates the product author's intent.
The boolean value indicates whether the errand is enabled for that lifecycle event by the operator.
product_guid required | string The guid of the product |
{- "errands": [
- {
- "name": "errand-1",
- "post_deploy": false,
- "label": "Errand 1 Label",
- "impact_warning": "A warning"
}, - {
- "name": "errand-2",
- "pre_delete": true,
- "label": "Errand 2 Label",
- "impact_warning": "A Pre Delete Errand Warning"
}, - {
- "name": "shared-errand",
- "post_deploy": false,
- "pre_delete": true,
- "label": "Shared Errand Label",
- "impact_warning": null
}
]
}
Set activated or deactivated list of errands to run.
product_guid required | string The guid of the product |
OK
Array of objects (Errand) |
{- "errands": [
- {
- "name": "example-errand1",
- "post_deploy": true,
- "pre_delete": true
}, - {
- "name": "example-errand2",
- "post_deploy": true
}, - {
- "name": "example-errand3",
- "post_deploy": false
}, - {
- "name": "example-errand3",
- "post_deploy": "default"
}, - {
- "name": "example-errand4",
- "post_deploy": true,
- "pre_delete": true
}, - {
- "name": "example-errand5",
- "pre_delete": false
}, - {
- "name": "example-errand6",
- "pre_delete": "default"
}
]
}
Tanzu Ops Manager is now protected by Cloud Foundry UAA for security and multi-user support.
When upgrading from a pre 1.7 version of Tanzu Ops Manager, a username is automatically created for you, and is set to “admin”. Your password is unchanged.
If you are importing a 1.7 or newer installation of Tanzu Ops Manager, both the username and the password are carried over to the new installation.
In addition to usernames and passwords, Tanzu Ops Manager will prompt users for a common decryption passphrase upon reboot. The decryption passphrase is currently the same as your password. Change the decryption passphrase before sharing it with other users.
installation[file] | string Path to installation.zip file |
passphrase | string |
curl "https://example.com/api/v0/installation_asset_collection" \ -X POST \ -F 'installation[file]=@/path/to/installation.zip' \ -F 'passphrase=example-passphrase'
Reset your Tanzu Ops Manager to its initial state. All products and BOSH configuration settings will be lost. Files uploaded or downloaded to the "Available Products" namespace will continue to be available. Hitting this endpoint does not reset your UAA login server and only affects Tanzu Ops Manager, BOSH, and products installed on them.
Array of objects (Errand) |
{- "errands": {
- "product_1_guid": {
- "run_pre_delete": {
- "errand_a": true,
- "errand_b": false,
- "errand_c": "default"
}
}
}
}
{- "install": {
- "id": 0
}
}
This feature is only enabled for the vSphere and Openstack IaaS. All other IaaSes will receive a 501.
guid required | string |
{- "errors": {
- "iaas_configuration": {
- "base": [
- "is currently being used by the availability zone, \"AZ-1\""
]
}
}
}
Fetch single iaas configuration by guid
guid required | string |
redact | boolean (Optional) If set to 'false', the response will include IaaS-specific secrets. |
{- "iaas_configuration": {
- "guid": "some-guid",
- "name": "default",
- "iam_instance_profile": "my-instance-profile",
- "security_group": "my-security-group",
- "key_pair_name": "my-ssh-key",
- "region": "us-east-1",
- "disk_type": "gp3",
- "encrypted": true,
- "kms_key_arn": "arn:aws:kms:us-east-1:123123123123:key/456456456",
- "require_imds_v2": false,
- "additional_cloud_properties": {
- "max_retries": 3
}
}
}
Update an iaas configuration
guid required | string |
PutAwsIaasConfiguration (object) or PutGoogleIaasConfiguration (object) or PutAzureIaasConfiguration (object) or AzureStackIaasConfiguration (object) or PutVsphereIaasConfiguration (object) or PutOpenstackIaasConfiguration (object) (PutIaasConfiguration) |
{- "iaas_configuration": {
- "secret_access_key": "string",
- "iam_instance_profile": "string",
- "security_group": "string",
- "key_pair_name": "string",
- "region": "string",
- "disk_type": "gp2",
- "encrypted": false,
- "kms_key_arn": "string",
- "require_imds_v2": false,
- "additional_cloud_properties": {
- "property1": null,
- "property2": null
}
}
}
{- "iaas_configuration": {
- "guid": "some-guid",
- "name": "default",
- "iam_instance_profile": "my-instance-profile",
- "security_group": "my-security-group",
- "key_pair_name": "my-ssh-key",
- "region": "us-east-1",
- "disk_type": "gp3",
- "encrypted": true,
- "kms_key_arn": "arn:aws:kms:us-east-1:123123123123:key/456456456",
- "require_imds_v2": true,
- "additional_cloud_properties": {
- "max_retries": 3
}
}
}
Creates a new IaaS configuration. Only supported on vSphere and OpenStack.
PutVsphereIaasConfiguration (object) or PutOpenstackIaasConfiguration (object) |
{- "iaas_configuration": {
- "vcenter_password": "string",
- "nsx_password": "string",
- "vcenter_host": "string",
- "datacenter": "string",
- "ephemeral_datastores_string": "string",
- "ephemeral_datastore_clusters_string": "string",
- "persistent_datastores_string": "string",
- "persistent_datastore_clusters_string": "string",
- "vcenter_username": "string",
- "bosh_vm_folder": "string",
- "bosh_template_folder": "string",
- "bosh_disk_path": "string",
- "ssl_verification_enabled": true,
- "nsx_networking_enabled": true,
- "nsx_mode": "nsx-v",
- "nsx_address": "string",
- "nsx_username": "string",
- "nsx_ca_certificate": "string",
- "additional_cloud_properties": {
- "property1": null,
- "property2": null
}
}
}
{- "iaas_configuration": {
- "guid": "some-guid",
- "vcenter_host": "10.10.10.0",
- "datacenter": "my-data-center",
- "ephemeral_datastores_string": "e-datastore-name",
- "persistent_datastores_string": "p-datastore-name",
- "vcenter_username": "my-user-name",
- "vcenter_password": "fake-not-real-password",
- "nsx_networking_enabled": true,
- "nsx_mode": "nsx-v",
- "nsx_address": "10.10.10.10",
- "nsx_password": "fake-password",
- "nsx_username": "some-user",
- "nsx_ca_certificate": "-----BEGIN CERTIFICATE-----\r\nMIIBsjCCARug...",
- "bosh_vm_folder": "bosh-folder",
- "bosh_template_folder": "my-bosh-template-folder",
- "bosh_disk_path": "my-disk-location",
- "ssl_verification_enabled": false,
- "additional_cloud_properties": {
- "http_logging": true
}
}
}
Fetch list of all iaas configurations
redact | boolean (Optional) If set to 'false', the response will include IaaS-specific secrets. |
{- "iaas_configurations": [
- {
- "guid": "some-guid",
- "name": "default",
- "iam_instance_profile": "my-instance-profile",
- "security_group": "my-security-group",
- "key_pair_name": "my-ssh-key",
- "region": "us-east-1",
- "disk_type": "gp3",
- "encrypted": true,
- "kms_key_arn": "arn:aws:kms:us-east-1:123123123123:key/456456456",
- "require_imds_v2": false,
- "additional_cloud_properties": {
- "max_retries": 3
}
}
]
}
Deactivate / activate a verifier for the director during Apply Changes.
verifier_name required | string |
enabled | boolean |
{- "enabled": true
}
{- "type": "NetworksPingableVerifier",
- "enabled": false
}
Returns a list of install-time verifiers for the director and whether or not each is activated/deactivated.
{- "verifiers": [
- {
- "type": "AllocatedIpAddressVerifier",
- "enabled": true
}, - {
- "type": "AvailabilityZonesVerifier",
- "enabled": true
}
]
}
Deactivate / activate a verifier for a particular product during Apply Changes.
product_guid required | string The guid of the product |
verifier_name required | string |
enabled | boolean |
{- "enabled": true
}
{- "type": "NetworksPingableVerifier",
- "enabled": false
}
Returns a list of verifiers associated with the product and if those verifiers are activated or deactivated
product_guid required | string The guid of the product |
{- "verifiers": [
- {
- "type": "AllocatedIpAddressVerifier",
- "enabled": true
}, - {
- "type": "AvailabilityZonesVerifier",
- "enabled": true
}
]
}
Returns an array of the jobs on a deployed product by name and guid.
product_guid required | string The guid of the product |
{- "jobs": [
- {
- "guid": "web-server12345sdfk",
- "name": "web-server"
}, - {
- "guid": "etcd12345sdfk",
- "name": "etcd"
}
]
}
The information returned is based on the output of the bosh vms
command, with some additional data added.
product_guid required | string The guid of the product |
{- "status": [
- {
- "job-name": "web_server-7f841fc2af9c2b357cc4",
- "index": 0,
- "az_guid": "ee61aa1e420ed3fdf276",
- "az_name": "first-az",
- "ips": [
- "10.85.42.58"
], - "cid": "vm-448ef313-86ee-4049-87cf-764ca2fa97e7",
- "load_avg": [
- "0.00",
- "0.01",
- "0.03"
], - "cpu": {
- "sys": "0.1",
- "user": "0.2",
- "wait": "0.3"
}, - "memory": {
- "kb": "60632",
- "percent": "6"
}, - "swap": {
- "kb": "0",
- "percent": "0"
}, - "system_disk": {
- "inode_percent": "31",
- "percent": "42"
}, - "ephemeral_disk": {
- "inode_percent": "0",
- "percent": "1"
}, - "persistent_disk": {
- "inode_percent": "0",
- "percent": "0"
}
}
]
}
product_guid required | string The guid of the product |
[- {
- "name": "compilation-guid",
- "identity": "vcap1",
- "password": "example-vm-password1"
}, - {
- "name": "job-type1-guid",
- "identity": "vcap1",
- "password": "example-vm-password1"
}, - {
- "name": "credentials-job-guid",
- "identity": "vcap",
- "password": "example-vm-password"
}
]
ZIP files for tasks in the 'downloaded' stage are available at /api/v0/deployed/director/logs/:task_guid
{- "tasks": [
- {
- "guid": "3854e98d1378",
- "status": "downloaded",
- "timestamp": "2016-04-21 17:32:10 UTC"
}, - {
- "guid": "b550456bddbc",
- "status": "downloaded",
- "timestamp": "2016-04-21 17:32:51 UTC"
}, - {
- "guid": "816ae3784f94",
- "status": "downloaded",
- "timestamp": "2016-04-21 18:08:43 UTC"
}
]
}
Downloads the corresponding logs for the given task_id.
task_id required | integer >= 1 |
"% Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70035 0 70035 0 0 348k 0 --:--:-- --:--:-- --:--:-- 348k\n"
ZIP files for tasks in the 'downloaded' stage are available at /api/v0/deployed/products/:product_guid/jobs/:job_guid/logs/:task_guid
product_guid required | string The guid of the product |
job_guid required | string The guid of the job |
{- "tasks": [
- {
- "guid": "3854e98d1378",
- "status": "downloaded",
- "timestamp": "2016-04-21 17:32:10 UTC"
}, - {
- "guid": "b550456bddbc",
- "status": "downloaded",
- "timestamp": "2016-04-21 17:32:51 UTC"
}, - {
- "guid": "816ae3784f94",
- "status": "downloaded",
- "timestamp": "2016-04-21 18:08:43 UTC"
}
]
}
This returns a task identifier for the async operation that performs log downloading from BOSH.
To track log download status, call GET /api/v0/deployed/products/:product_guid/jobs/:job_guid/logs
product_guid required | string The guid of the product |
job_guid required | string The guid of the job |
{- "id": "3453589567389"
}
product_guid required | string The guid of the product |
job_guid required | string The guid of the job |
task_id required | integer >= 1 |
"% Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 70035 0 70035 0 0 348k 0 --:--:-- --:--:-- --:--:-- 348k\n"
To view the deployed product BOSH manifest
mode | string Default: "last_attempted" Enum: "last_successful" "last_attempted" |
{- "manifest": {
- "name": "example-product-88b1515f1089d0eabdc9",
- "releases": [
- {
- "name": "example-release",
- "version": "2.2.release39"
}
], - "stemcells": [
- {
- "alias": "bosh-docker-boshlite-ubuntu-trusty-go_agent",
- "os": "ubuntu-trusty",
- "version": "3541.12"
}
], - "compilation": {
- "reuse_compilation_vms": true,
- "workers": 1,
- "network": "net-subnet-guid",
- "cloud_properties": {
- "ram": 1024,
- "disk": 2048,
- "cpu": 1,
- "datacenters": [
- {
- "clusters": [
- {
- "vsphere-cluster": { }
}
]
}
]
}
}, - "update": {
- "canaries": 1,
- "canary_watch_time": "30000-300000",
- "update_watch_time": "30000-300000",
- "max_in_flight": 1,
- "max_errors": 2,
- "serial": false
}, - "disk_pools": [ ],
- "resource_pools": [ ],
- "instance_groups": [ ]
}
}
To view the deployed product BOSH manifest
product_guid required | string The guid of the product |
mode | string Default: "last_attempted" Enum: "last_successful" "last_attempted" |
{- "manifest": {
- "name": "example-product-88b1515f1089d0eabdc9",
- "releases": [
- {
- "name": "example-release",
- "version": "2.2.release39"
}
], - "stemcells": [
- {
- "alias": "bosh-docker-boshlite-ubuntu-trusty-go_agent",
- "os": "ubuntu-trusty",
- "version": "3541.12"
}
], - "compilation": {
- "reuse_compilation_vms": true,
- "workers": 1,
- "network": "net-subnet-guid",
- "cloud_properties": {
- "ram": 1024,
- "disk": 2048,
- "cpu": 1,
- "datacenters": [
- {
- "clusters": [
- {
- "vsphere-cluster": { }
}
]
}
]
}
}, - "update": {
- "canaries": 1,
- "canary_watch_time": "30000-300000",
- "update_watch_time": "30000-300000",
- "max_in_flight": 1,
- "max_errors": 2,
- "serial": false
}, - "disk_pools": [ ],
- "resource_pools": [ ],
- "instance_groups": [ ]
}
}
Returns the BOSH manifest that was used for deploying a given product for a given Apply Change.
Use /api/v0/installations/{installation_id}/products/director/manifest
to get the
director manifest.
installation_id required | number The installation id |
product_guid required | string The guid of the product |
{- "manifest": {
- "name": "example-product-88b1515f1089d0eabdc9",
- "releases": [
- {
- "name": "example-release",
- "version": "2.2.release39"
}
], - "stemcells": [
- {
- "alias": "bosh-docker-boshlite-ubuntu-trusty-go_agent",
- "os": "ubuntu-trusty",
- "version": "3541.12"
}
], - "compilation": {
- "reuse_compilation_vms": true,
- "workers": 1,
- "network": "net-subnet-guid",
- "cloud_properties": {
- "ram": 1024,
- "disk": 2048,
- "cpu": 1,
- "datacenters": [
- {
- "clusters": [
- {
- "vsphere-cluster": { }
}
]
}
]
}
}, - "update": {
- "canaries": 1,
- "canary_watch_time": "30000-300000",
- "update_watch_time": "30000-300000",
- "max_in_flight": 1,
- "max_errors": 2,
- "serial": false
}, - "disk_pools": [ ],
- "resource_pools": [ ],
- "instance_groups": [ ]
}
}
{- "manifest": {
- "name": "example-product-88b1515f1089d0eabdc9",
- "releases": [
- {
- "name": "example-release",
- "version": "2.2.release39"
}
], - "stemcells": [
- {
- "alias": "bosh-docker-boshlite-ubuntu-trusty-go_agent",
- "os": "ubuntu-trusty",
- "version": "3541.12"
}
], - "compilation": {
- "reuse_compilation_vms": true,
- "workers": 1,
- "network": "net-subnet-guid",
- "cloud_properties": {
- "ram": 1024,
- "disk": 2048,
- "cpu": 1,
- "datacenters": [
- {
- "clusters": [
- {
- "vsphere-cluster": { }
}
]
}
]
}
}, - "update": {
- "canaries": 1,
- "canary_watch_time": "30000-300000",
- "update_watch_time": "30000-300000",
- "max_in_flight": 1,
- "max_errors": 2,
- "serial": false
}, - "disk_pools": [ ],
- "resource_pools": [ ],
- "instance_groups": [ ]
}
}
To view the product BOSH manifest for a staged product
product_guid required | string The guid of the product |
{- "manifest": {
- "name": "example-product-88b1515f1089d0eabdc9",
- "releases": [
- {
- "name": "example-release",
- "version": "2.2.release39"
}
], - "stemcells": [
- {
- "alias": "bosh-docker-boshlite-ubuntu-trusty-go_agent",
- "os": "ubuntu-trusty",
- "version": "3541.12"
}
], - "compilation": {
- "reuse_compilation_vms": true,
- "workers": 1,
- "network": "net-subnet-guid",
- "cloud_properties": {
- "ram": 1024,
- "disk": 2048,
- "cpu": 1,
- "datacenters": [
- {
- "clusters": [
- {
- "vsphere-cluster": { }
}
]
}
]
}
}, - "update": {
- "canaries": 1,
- "canary_watch_time": "30000-300000",
- "update_watch_time": "30000-300000",
- "max_in_flight": 1,
- "max_errors": 2,
- "serial": false
}, - "disk_pools": [ ],
- "resource_pools": [ ],
- "instance_groups": [ ]
}
}
Returns a list of the max_in_flight setting for all of the product's jobs.
product_guid required | string The guid of the product |
{- "max_in_flight": {
- "example-job-guid-1": 5,
- "example-job-guid-2": "10%",
- "example-job-guid-3": "default"
}
}
Configures max_in_flight settings for jobs on a product. This overrides product defaults.
Values can be a either a percentage, or an absolute count of configured instances. Example: In order to set max_in_flight to 2, given a job with 10 instances, set max_in_flight as 2 or "20%".
To reset the max_in_flight value for a job to its default, use the string "default" as the value.
product_guid required | string The guid of the product |
max_in_flight | object (This collection maps from job guid to either a number, percentage or "default") |
{- "max_in_flight": {
- "example-job-guid-1": 5,
- "example-job-guid-2": "10%",
- "example-job-guid-3": "default"
}
}
metadata[file] | string Metadata file |
curl "https://example.com/api/v0/metadata/migrate" \ -X POST \ -H "Authorization: Bearer UAA_ACCESS_TOKEN" \ -F 'metadata[file]=@/path/to/component-type1.yml'
{- "metadata": "YAML representation of the product metadata"
}
Set the network and singleton availability zone for the bosh director. You cannot use this endpoint if the director is already deployed.
The parameters must match the names of an already created network and availability zone. The network must have at least one subnet on the singleton availability zone and cannot be a service network.
On Azure, when the Availability Mode is Sets, the singleton_availability_zone
key is not required,
and will be ignored.
object |
{- "network_and_az": {
- "network": {
- "name": "network_name"
}, - "singleton_availability_zone": {
- "name": "availability_zone_name"
}
}
}
The current network and AZ assignment for a staged product.
{- "networks_and_azs": {
- "singleton_availability_zone": {
- "name": "az-one"
}, - "other_availability_zones": [
- {
- "name": "az-two"
}, - {
- "name": "az-three"
}
], - "network": {
- "name": "network-one"
}
}
}
Assigns AZs and networks for a staged product.
Subnets in the specified network must align with the specified availability zones.
On Azure, when the Availability Mode is Sets, the singleton_availability_zone
and
other_availability_zones
keys are not required, and will be ignored.
The network name must match the name of an already created network.
object |
{- "networks_and_azs": {
- "singleton_availability_zone": {
- "name": "az-one"
}, - "other_availability_zones": [
- {
- "name": "az-two"
}, - {
- "name": "az-three"
}
], - "network": {
- "name": "network-one"
}
}
}
Fetches the collection of networks and subnets.
{- "icmp_checks_enabled": true,
- "networks": [
- {
- "guid": "0d35c70db3c592cb1ac7",
- "name": "first-network",
- "subnets": [
- {
- "guid": "433d16d727706e3be752",
- "iaas_identifier": "hinterlands-1",
- "cidr": "10.85.41.0/24",
- "dns": "10.87.8.10",
- "gateway": "10.85.41.1",
- "reserved_ip_ranges": "10.85.41.1-10.85.41.97,10.85.41.117-10.85.41.255",
- "availability_zone_names": [
- "first-az",
- "second-az"
]
}
]
}
]
}
Replace the collection of networks and subnets.
OpsManager uses GUIDs to match existing objects in the collection. Unmatched networks will be added, matched networks will be updated, and omitted networks will be deleted.
icmp_checks_enabled | boolean |
Array of objects (Network) |
{- "icmp_checks_enabled": true,
- "networks": [
- {
- "guid": "string",
- "name": "string",
- "subnets": [
- {
- "guid": "string",
- "iaas_identifier": "string",
- "cidr": "string",
- "dns": "string",
- "gateway": "string",
- "reserved_ip_ranges": "string"
}
]
}
]
}
{- "status": "Networks were saved but there were verification errors which may prevent you from deploying",
- "verification_errors": [
- "Cannot reach DNS with IP 0.0.0.0 (ignorable if ICMP is deactivated), type: NetworksPingableVerifier",
- "Cannot find network 'foo', type: NetworksExistenceVerifier",
- "Gateway IP '8.8.8.8' not in CIDR range '10.9.9.0/24', type: GatewayCidrVerifier"
]
}
Will not have any valuable information unless you have configured a VMware Tanzu Network API token.
product_name | string |
{- "product_name": "pivnet-product-name"
}
{- "versions": [
- "1.1.0",
- "1.0.10"
]
}
download_id required | number |
{- "download": {
- "id": 2,
- "status": "DOWNLOADING",
- "product_identifier": "pivnet-product-name",
- "product_version": "1.2.3",
- "bytes_downloaded": 89,
- "total_bytes": 100
}
}
You must have an VMware Tanzu Network API token set for this endpoint to work. You must also have accepted the EULA for the provided version of the product.
product_name | string |
version | string |
pivnet_filename_regex | string If not specified, then OpsManager will use the first |
{- "product_name": "pivnet-product-name",
- "version": "1.2.3",
- "pivnet_filename_regex": "cf-.*.pivotal"
}
{- "download_id": 1
}
Deprecated: EULAs for a product can only be accepted on https://network.tanzu.vmware.com.
{- "errors": {
- "...": null
}
}
You can add a VMware Tanzu Network API Token to use Ops Manager's PivNet integration. This features automatically finds updates to products and stemcells from PivNet which you can then stage and install.
You can find your API token under your profile settings in PivNet.
Note that currently there are two API tokens listed.
Ops Manager only works with one listed as legacy API token.
object |
{- "pivotal_network_settings": {
- "api_token": "pivnet-api-token"
}
}
{- "success": true
}
This endpoint will search a local cache of all stemcells versions available on VMware Tanzu Network (including ubuntu-trusty, ubuntu-xenial, windows2019, windows1803, windows2016, and windows2012R2).
If a product is already assigned the latest stemcell, this endpoint will not return anything for that product.
{- "stemcell_updates": [
- {
- "stemcell_version": "3586.57",
- "release_id": 100,
- "products": [
- {
- "product_id": "product1-id-using-trusty"
}, - {
- "product_id": "product2-id-using-trusty"
}
]
}, - {
- "stemcell_version": "1709.15",
- "release_id": 300,
- "products": [
- {
- "product_id": "product4-id-using-windows2016"
}
]
}
]
}
Returns granular information about whether the staged BOSH Director is ready to be deployed. It lists the following:
{- "pre_deploy_check": {
- "identifier": "p-bosh-guid",
- "complete": false,
- "network": {
- "assigned": true
}, - "availability_zone": {
- "assigned": false
}, - "stemcells": [
- {
- "assigned": false,
- "required_stemcell_version": "250.2",
- "required_stemcell_os": "ubuntu-xenial"
}
], - "properties": [ ],
- "resources": {
- "jobs": [ ]
}, - "verifiers": [
- {
- "type": "NetworksPingableVerifier",
- "errors": [
- "Cannot reach gateway with IP 0.0.0.0 (ignorable if ICMP is deactivated), type: NetworksPingableVerifier"
], - "ignorable": true
}, - {
- "type": "PrivilegeVerifier",
- "errors": [
- "'Could not connect to vCenter IP: Failed to open TCP connection to foo:443 (getaddrinfo: nodename nor servname provided, or not known)', type: PrivilegeVerifier"
], - "ignorable": true
}, - {
- "type": "IaasConfigurationVerifier",
- "errors": [
- "'Could not connect to vCenter IP: Failed to open TCP connection to foo:443 (getaddrinfo: nodename nor servname provided, or not known)', type: IaasConfigurationVerifier"
], - "ignorable": false
}, - {
- "type": "AvailabilityZonesVerifier",
- "errors": [
- "'Could not connect to vCenter IP: Failed to open TCP connection to foo:443 (getaddrinfo: nodename nor servname provided, or not known)', type: AvailabilityZonesVerifier"
], - "ignorable": false
}, - {
- "type": "NetworksExistenceVerifier",
- "errors": [
- "'Could not connect to vCenter IP: Failed to open TCP connection to foo:443 (getaddrinfo: nodename nor servname provided, or not known)', type: NetworksExistenceVerifier"
], - "ignorable": false
}
]
}
}
Returns granular information about whether the specified product is ready to be deployed. It lists the following:
product_guid required | string The guid of the product |
{- "pre_deploy_check": {
- "identifier": "product-guid",
- "complete": false,
- "network": {
- "assigned": true
}, - "availability_zone": {
- "assigned": false
}, - "stemcells": [
- {
- "assigned": false,
- "required_stemcell_version": "250.2",
- "required_stemcell_os": "ubuntu-xenial"
}
], - "properties": [
- {
- "name": ".properties.example_string",
- "type": "string",
- "errors": [
- "can't be blank"
]
}, - {
- "name": ".my_job.example_collection",
- "type": "collection",
- "errors": [
- "String Property can't be blank"
], - "records": [
- {
- "index": 3,
- "errors": [
- {
- "name": "string-property",
- "type": "string",
- "errors": [
- "can't be blank"
]
}
]
}
]
}, - {
- "name": ".properties.example_selector.option_1.sub_property",
- "type": "integer",
- "errors": [
- "is not a number"
]
}
], - "resources": {
- "jobs": [
- {
- "identifier": "job-identifier",
- "guid": "job-guid",
- "error": [
- "Instance : Value must be a positive integer",
- "Ram must be less than or equal to 1024"
]
}
]
}, - "verifiers": [
- {
- "type": "WildcardDomainVerifier",
- "errors": [
- "The domain '*.example.com' failed to resolve, type: WildcardDomainVerifier"
], - "ignorable": true
}
]
}
}
product[file] | string Path to tile |
curl "https://example.com/api/v0/available_products" \ -X POST \ -H "Authorization: Bearer UAA_ACCESS_TOKEN" \ -F 'product[file]=@/path/to/component.zip'
product_guid required | string The guid of the product |
{- "installation_name": "component-type1-installation-name",
- "guid": "component-type1-guid",
- "type": "component-type1",
- "product_version": "1.0",
- "stale": {
- "parent_products_deployed_more_recently": [
- "p-bosh-guid"
]
}, - "label": "product-label"
}
[- {
- "installation_name": "component-type1-installation-name",
- "guid": "component-type1-guid",
- "type": "component-type1",
- "product_version": "1.0",
- "stale": {
- "parent_products_deployed_more_recently": [
- "p-bosh-guid"
]
}, - "label": "product-label"
}, - {
- "installation_name": "p-bosh-installation-name",
- "guid": "p-bosh-guid",
- "type": "p-bosh",
- "stale": {
- "parent_products_deployed_more_recently": [ ]
}, - "label": "BOSH Director"
}
]
product_guid required | string The guid of the product |
{- "installation_name": "component-type1-installation-name",
- "guid": "component-type1-guid",
- "type": "component-type1",
- "product_version": "1.0.1",
- "label": "A Product"
}
name | string (The name of the product as specified in the product template, e.g. 'cf' or 'p-mysql') |
product_version | string (The version of the product as specified in the product template, e.g. '1.2.0.0') |
{- "name": "string",
- "product_version": "string"
}
[- {
- "installation_name": "component-type1-installation-name",
- "guid": "component-type1-guid",
- "type": "component-type1",
- "product_version": "1.0.1",
- "label": "A Product"
}, - {
- "installation_name": "p-bosh-installation-name",
- "guid": "p-bosh-guid",
- "type": "p-bosh",
- "product_version": "2.5.0",
- "label": "BOSH Director"
}
]
Fetch director, IaaS, and security properties.
Note: The property address
field under syslog_configuration
can be either a hostname or an IP address.
Note: The property opentsdb_ip
field under director_configuration
maps to the Bosh Health Monitor IP Address.
Note: If there are multiple Iaas Configurations, the iaas_configuration
key is omitted from the response.
When redact
is true the following properties are omitted from the response:
redact | boolean (Optional) If set to 'false', the response will include IaaS-specific secrets. |
{- "iaas_configuration": {
- "iam_instance_profile": "my-instance-profile",
- "security_group": "my-security-group",
- "key_pair_name": "my-ssh-key",
- "region": "us-east-1",
- "encrypted": true,
- "disk_type": "gp3",
- "kms_key_arn": "arn:aws:kms:us-east-1:123123123123:key/456456456",
- "require_imds_v2": false,
- "additional_cloud_properties": {
- "max_retries": 3
}
}, - "director_configuration": {
- "ntp_servers_string": "us.pool.ntp.org, time.google.com",
- "resurrector_enabled": false,
- "director_hostname": "hal9000.tld",
- "max_threads": 5,
- "nats_max_payload_mb": 10,
- "duration_overrides_enabled": false,
- "ca_certificate_duration": 365,
- "leaf_certificate_duration": 3650,
- "custom_ssh_banner": "Hello World!",
- "metrics_server_enabled": true,
- "system_metrics_runtime_enabled": true,
- "opentsdb_ip": "1.2.3.4",
- "director_worker_count": 5,
- "post_deploy_enabled": false,
- "bosh_recreate_on_next_deploy": false,
- "bosh_director_recreate_on_next_deploy": false,
- "retry_bosh_deploys": false,
- "keep_unreachable_vms": false,
- "skip_director_drain": false,
- "job_configuration_on_tmpfs": false,
- "database_type": "external",
- "external_database_options": {