Tanzu Ops Manager API Reference (2.10)

Download OpenAPI specification:Download

Parallel Calls

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.

How to Authenticate

You must pass a token to each API endpoint. To get a token, and curl an API endpoint using that token, follow these instructions:

Installing uaac

  • From a command line with Ruby installed, install the cf-uaac gem:

    gem install cf-uaac

Obtaining a uaac token

  • 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
    

Using uaac curl

  • 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>'

Using regular curl

  • Use uaac context and get the access_token:

    curl -H "Authorization: Bearer UAA_ACCESS_TOKEN" <ENDPOINT>

Advanced Manifest Configuration

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.

Delete all manifest overrides for the BOSH Director

This endpoint will delete all of the currently configured overrides for the BOSH Director.

Responses

Response samples

Content type
application/json
{ }

View a list of all manifest overrides for the BOSH Director

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.

Responses

Response samples

Content type
application/json
{
  • "overrides": [
    ]
}

Provide a new list of overrides for the BOSH Director

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
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
Example
{
  • "overrides": [
    ]
}

Response samples

Content type
application/json
{ }

Delete all runtime config overrides for the BOSH Director

This endpoint will delete all of the currently configured runtime config overrides for the BOSH Director.

Responses

Response samples

Content type
application/json
{ }

View a list of all runtime config overrides for the BOSH Director

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.

Responses

Response samples

Content type
application/json
{
  • "overrides": [
    ]
}

Provide a new list of runtime config overrides for the BOSH Director

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
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "overrides": [
    ]
}

Response samples

Content type
application/json
{ }

Delete all manifest overrides for the given Product

This endpoint will delete all of the currently configured overrides for the given Product.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{ }

View a list of all manifest overrides for a Product

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.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "overrides": [
    ]
}

Provide a new list of overrides for the given Product

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
path Parameters
product_guid
required
string

The guid of the product

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
Example
{
  • "overrides": [
    ]
}

Response samples

Content type
application/json
{ }

Advanced Mode

Activate/Deactivate Advanced Mode

Request Body schema: application/json
locked
boolean
advanced_mode
boolean

Responses

Request samples

Content type
application/json
{
  • "locked": true
}

Response samples

Content type
application/json
{
  • "locked": true
}

Are you in Advanced Mode?

Determines whether you are in Advanced Mode or not

Responses

Response samples

Content type
application/json
{
  • "locked": false,
  • "advanced_mode": false
}

Apply Changes

Commit a Staged Installation

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.

Request Body schema: application/json
ignore_warnings
boolean

When true, bypass warnings from ignorable verifiers

Responses

Request samples

Content type
application/json
{
  • "ignore_warnings": true
}

Streaming current Apply Change log

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.

Responses

Response samples

Content type
text/event-stream
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}

Status of an Apply Change

Returns the status of an Apply Change

path Parameters
installation_id
required
number

The installation id

Responses

Response samples

Content type
application/json
{
  • "status": "succeeded",
  • "started_at": "2018-09-11T01:08:42.726Z",
  • "finished_at": "2018-09-11T01:08:55.181Z"
}

List of Apply Changes

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 products
  • updates: settings were changed or the product was upgraded
  • deletions: the product was deleted
  • unchanged: none of the above, but the product was still redeployed

Responses

Response samples

Content type
application/json
{
  • "installations": [
    ]
}

Triggering an Apply Change

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.

Request Body schema: application/json
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:

  • true
  • false
  • "default"

Pre Delete errands support the following states:

  • true
  • false
  • "default"

Responses

Request samples

Content type
application/json
Example
{
  • "deploy_products": "all",
  • "errands": {
    },
  • "ignore_warnings": true
}

Response samples

Content type
application/json
{
  • "install": {
    }
}

View a list of pending changes

List of products and errands, and any pending changes that might be applied.

Products will be listed in deployment order.

Responses

Response samples

Content type
application/json
{
  • "product_changes": [
    ]
}

Authentication Settings

Getting the authentication settings

Responses

Response samples

Content type
application/json
Example
{
  • "authentication": {
    }
}

Update the authentication settings

Request Body schema: application/json
One of
decryption_passphrase
string
admin_user_name
string
admin_password
string
identity_provider
string
Enum: "internal" "saml" "ldap"

Responses

Request samples

Content type
application/json
Example
{
  • "authentication": {
    }
}

Response samples

Content type
application/json
{ }

Authentication Setup

Setting up with an internal userstore, SAML or LDAP

Request Body schema: application/json
One of
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)

Responses

Request samples

Content type
application/json
Example
{
  • "setup": {
    }
}

Response samples

Content type
application/json
{ }

Availability Zones

Delete a single availability zone

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.

path Parameters
az_guid
required
string

Responses

Response samples

Content type
application/json
{ }

Fetch a single availability zone

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.

path Parameters
az_guid
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "availability_zone": {
    }
}

Update a single availability zone

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.

path Parameters
az_guid
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "availability_zone": {
    }
}

Response samples

Content type
application/json
Example
{
  • "availability_zone": {
    }
}

Fetching all availability zones

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.

Responses

Response samples

Content type
application/json
Example
{
  • "availability_zones": [
    ]
}

Creating availability zones

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

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "availability_zone": {
    }
}

Response samples

Content type
application/json
Example
{
  • "availability_zone": {
    }
}

Updating all availability zones

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.

Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
Example
{
  • "availability_zones": [
    ]
}

Response samples

Content type
application/json
{
  • "warnings": {
    }
}

Base Release URL

Reset active base releases url

Resets to the default specified in the product template.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{}

Get active base releases url

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).

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{}

Update active base releases url

When base_releases_url is set, the default pointers are ignored and BOSH attempts to download releases from the location specified.

path Parameters
product_guid
required
string

The guid of the product

Request Body schema: application/json
base_release_url
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Certificate Authorities

Activate a Root Certificate Authority

Activate specified root certificate authority and de-activate all others.

This is used during Step 2 of the Certificate Authority rotation procedure. See Rotating CAs and Leaf Certificates for more details.

path Parameters
certificate_authority_guid
required
string

The guid of the certificate authority

Responses

Response samples

Content type
application/json
{
  • "certificates": {
    }
}

Listing the Root Certificate Authorities

Returns all of the root certificate authorities for OpsManager.

The active certificate will be used for generating all certs which OpsManager generates.

Responses

Response samples

Content type
application/json
{
  • "certificate_authorities": [
    ]
}

Create Root Certificate Authorities

Creates a root certificate authority using the provided certificate pem and private key pem. It will be marked as inactive initially.

This is used during Step 1 of the Certificate Authority rotation procedure. See Rotating CAs and Leaf Certificates for more details.

Request Body schema: application/json

OK

cert_pem
string
private_key_pem
string

Responses

Request samples

Content type
application/json
"{\n \"cert_pem\": \"-----BEGIN CERTIFICATE-----\\nMIIC+zCCAeOgAwI...\",\n \"private_key_pem\": \"-----BEGIN RSA PRIVATE KEY-----\\nMIIEowIBAAKCA...\"\n}\n"

Response samples

Content type
application/json
{
  • "guid": "f7bc18f34f2a7a9403c3",
  • "issuer": "Pivotal",
  • "created_on": "2017-01-19",
  • "expires_on": "2021-01-19",
  • "active": false,
  • "cert_pem": "-----BEGIN CERTIFICATE-----\nMIIC+zCCAeOgAwIBAgIBADANBgkqhkiG9w0BAQsFADAfMQswCQYDVQQGEwJVUzEQ\nMA4GA1UECgwHUGl2b3RhbDAeFw0xNzAxMTgyMTQyMjVaFw0yMTAxMTkyMTQyMjVa\nMB8xCzAJBgNVBAYTAlVTMRAwDgYDVQQKDAdQaXZvdGFsMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEAyV4OhPIIZTEym9OcdcNVip9Ev0ijPPLo9WPLUMzT\nIrpDx3nG/TgD+DP09mwVXfqwBlJmoj9DqRED1x/6bc0Ki/BAFo/P4MmOKm3QnDCt\no+4RUvLkQqgA++2HYrNTKWJ5fsXmERs8lK9AXXT7RKXhktyWWU3oNGf7zo0e3YKp\nl07DdIW7h1NwIbNcGT1AurIDsxyOZy1HVzLDPtUR2MxhJmSCLsOw3qUDQjatjXKw\n82RjcrswjG3nv2hvD4/aTOiHuKM3+AGbnmS2MdIOvFOh/7Y79tUp89csK0gs6uOd\nmyfdxzDihe4DcKw5CzUTfHKNXgHyeoVOBPcVQTp4lJp1iQIDAQABo0IwQDAdBgNV\nHQ4EFgQUyH4y7VEuImLStXM0CKR8uVqxX/gwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\nHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBALmHOPxdyBGnuR0HgR9V4TwJ\ntnKFdFQJGLKVT7am5z6G2Oq5cwACFHWAFfrPG4W9Jm577QtewiY/Rad/PbkY0YSY\nrehLThKdkrfNjxjxI0H2sr7qLBFjJ0wBZHhVmDsO6A9PkfAPu4eJvqRMuL/xGmSQ\ntVkzgYmnCynMNz7FgHyFbd9D9X5YW8fWGSeVBPPikcONdRvjw9aEeAtbGEh8eZCP\naBQOgsx7b33RuR+CTNqThXY9k8d7/7ba4KVdd4gP8ynFgwvnDQOjcJZ6Go5QY5HA\nR+OgIzs3PFW8pAYcvWrXKR0rE8fL5o9qgTyjmO+5yyyvWIYrKPqqIUIvMCdNr84=\n-----END CERTIFICATE-----\n",
  • "certificates": {
    }
}

Deleting a Root Certificate Authority

Delete a specific certificate authority OpsManager.

Only "inactive" certificates can be deleted.

This is used during Step 5 of the Certificate Authority rotation procedure. See Rotating CAs and Leaf Certificates for more details.

path Parameters
certificate_authority_guid
required
string

The guid of the certificate authority

Responses

Response samples

Content type
application/json
{
  • "certificates": {
    }
}

Generate a Root Certificate Authority

Generates an additional root certificate authority.

It will be marked as inactive initially.

This is used during Step 1 of the Certificate Authority rotation procedure. See Rotating CAs and Leaf Certificates for more details.

Responses

Response samples

Content type
application/json
{
  • "guid": "f7bc18f34f2a7a9403c3",
  • "issuer": "Pivotal",
  • "created_on": "2017-01-19",
  • "expires_on": "2021-01-19",
  • "active": false,
  • "cert_pem": "-----BEGIN CERTIFICATE-----\nMIIC+zCCAeOgAwIBAgIBADANBgkqhkiG9w0BAQsFADAfMQswCQYDVQQGEwJVUzEQ\nMA4GA1UECgwHUGl2b3RhbDAeFw0xNzAxMTgyMTQyMjVaFw0yMTAxMTkyMTQyMjVa\nMB8xCzAJBgNVBAYTAlVTMRAwDgYDVQQKDAdQaXZvdGFsMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEAyV4OhPIIZTEym9OcdcNVip9Ev0ijPPLo9WPLUMzT\nIrpDx3nG/TgD+DP09mwVXfqwBlJmoj9DqRED1x/6bc0Ki/BAFo/P4MmOKm3QnDCt\no+4RUvLkQqgA++2HYrNTKWJ5fsXmERs8lK9AXXT7RKXhktyWWU3oNGf7zo0e3YKp\nl07DdIW7h1NwIbNcGT1AurIDsxyOZy1HVzLDPtUR2MxhJmSCLsOw3qUDQjatjXKw\n82RjcrswjG3nv2hvD4/aTOiHuKM3+AGbnmS2MdIOvFOh/7Y79tUp89csK0gs6uOd\nmyfdxzDihe4DcKw5CzUTfHKNXgHyeoVOBPcVQTp4lJp1iQIDAQABo0IwQDAdBgNV\nHQ4EFgQUyH4y7VEuImLStXM0CKR8uVqxX/gwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\nHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBALmHOPxdyBGnuR0HgR9V4TwJ\ntnKFdFQJGLKVT7am5z6G2Oq5cwACFHWAFfrPG4W9Jm577QtewiY/Rad/PbkY0YSY\nrehLThKdkrfNjxjxI0H2sr7qLBFjJ0wBZHhVmDsO6A9PkfAPu4eJvqRMuL/xGmSQ\ntVkzgYmnCynMNz7FgHyFbd9D9X5YW8fWGSeVBPPikcONdRvjw9aEeAtbGEh8eZCP\naBQOgsx7b33RuR+CTNqThXY9k8d7/7ba4KVdd4gP8ynFgwvnDQOjcJZ6Go5QY5HA\nR+OgIzs3PFW8pAYcvWrXKR0rE8fL5o9qgTyjmO+5yyyvWIYrKPqqIUIvMCdNr84=\n-----END CERTIFICATE-----\n",
  • "certificates": {
    }
}

Rotate Certificates

Rotates all of the non-configurable leaf certificates.

The regenerated certificates will be signed by the current active CA. An Apply Changes is necessary to distribute the certificates to any deployed VMs.

This is used during both a non-configurable leaf certificate rotation and during a Certificate Authority rotation.

Responses

Response samples

Content type
application/json
{
  • "certificates": {
    }
}

Certificates

Generating New Certificates

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.

Request Body schema: application/json
domains
Array of strings

List of wildcard domains

Responses

Request samples

Content type
application/json
{
  • "domains": [
    ]
}

Response samples

Content type
application/json
{
  • "certificate": "-----BEGIN CERTIFICATE-----\nMIIC+zCCAeOgAwI...",
  • "key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCA..."
}

Getting Information About Certificates from Products

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

query Parameters
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

Responses

Response samples

Content type
application/json
Example
{
  • "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"
}

Cloud Config

Getting BOSH cloud configs from historical installations

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.

path Parameters
installation_id
required
number

The installation id

product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "cloud_config": {
    }
}

Deployed Director cloud config

The deployed BOSH director's cloud config

Responses

Response samples

Content type
application/json
{
  • "cloud_config": {
    }
}

Staged Director cloud config

The staged BOSH director's cloud config

Responses

Response samples

Content type
application/json
{
  • "cloud_config": {
    }
}

Core Consumption

View the core consumption data

Retrieve a core consumption data about your products deployed with Tanzu Ops Manager.

Responses

CPI Config

Getting BOSH CPI Config from historical installations

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.

path Parameters
installation_id
required
number

The installation id

Responses

Response samples

Content type
application/json
{
  • "cpis": [
    ]
}

Fetching deployed CPI configs

Returns most recently deployed CPI configs.

Responses

Response samples

Content type
application/json
{
  • "cpis": [
    ]
}

Fetching staged CPI configs

Returns CPI configs generated based on your current settings. The generated CPI configs are used during Apply Changes.

Responses

Response samples

Content type
application/json
{
  • "cpis": [
    ]
}

Credentials

Single deployed director credential

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "credential": {
    }
}

All deployed director credentials

Responses

Response samples

Content type
application/json
{
  • "credential_ids": [
    ]
}

Single credential for a deployed product

Returns the credentials for a specified credential reference as a hash.

path Parameters
product_guid
required
string

The guid of the product

id
required
string

Responses

Response samples

Content type
application/json
{
  • "credential": {
    }
}

All credentials for a deployed product

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.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "credentials": [
    ]
}

Credhub Credentials

Deleting Credentials Migrated to Credhub from Tanzu Ops Manager

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.

Responses

Response samples

Content type
application/x-yaml
RESPONSE HEADERS:
  Content-Type: application/json; charset=utf-8
RESPONSE BODY:
{}

Getting Credentials to Migrate to CredHub

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.

Responses

Response samples

Content type
application/x-yaml
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

Custom Banner Settings

Getting the Custom Banners

Get the current value of the custom banner text.

The ui_banner_contents text will be shown in a banner in the Operations Manager web UI on every page. By default this is null which means that no banner will be shown.

The ssh_banner_contents text will be shown as the SSH banner whenever a user connects to an OpsManager over SSH. By default this is null which means that no banner will be shown.

Responses

Response samples

Content type
application/json
{
  • "ui_banner_contents": "string",
  • "ssh_banner_contents": "string"
}

Setting the Custom Banners

Set the values of custom banners.

Request Body schema: application/json
ui_banner_contents
string (This text will be shown in a banner in the Operations Manager web UI on every page. By default this is `null` which means that no banner will be shown.)
ssh_banner_contents
string (This text will be shown as the SSH banner whenever a user connects to an OpsManager over SSH. By default this is `null` which means that no banner will be shown.)

Responses

Request samples

Content type
application/json
{
  • "ui_banner_contents": "string",
  • "ssh_banner_contents": "string"
}

Custom Manifest Operations

Remove a manifest operation

Delete an individual add_job_to_instance_group operation which was previously added to the BOSH Director tile

Responses

View a list of all manifest operations

Get a list of all add_job_to_instance_group type operations which were previously added to the BOSH Director tile

Responses

Response samples

Content type
application/json
{
  • "add_job_to_instance_group": [
    ]
}

Create a manifest operation

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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "add_job_to_instance_group": {
    }
}

Response samples

Content type
application/json
{
  • "guid": "op-73f3bf6a4794",
  • "product_guid": "p-bosh-ffdfee501e5b108a9046",
  • "instance_group": "bosh",
  • "job_name": "watcher",
  • "release_name": "clamav",
  • "release_sha1": "3d8ce8f0000c54e8cae990e7c010f10b52b54e6f",
  • "job_properties": {
    }
}

Custom SSL Certificate Settings

Deleting the SSL Certificate

Remove the custom SSL certificate for OpsManager and revert to the provided self-signed SSL certificate.

Responses

Response samples

Content type
application/json
{ }

Getting the SSL Certificate

Get the current custom SSL certificate for OpsManager.

Responses

Response samples

Content type
application/json
Example
{
  • "ssl_certificate": {
    }
}

Updating the SSL Certificate

Set the values for the custom SSL certificate for OpsManager.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "ssl_certificate": {
    }
}

Response samples

Content type
application/json
{
  • "ssl_certificate": {
    }
}

Custom Syslog Settings

Getting the Syslog

Get the current Syslog configuration for OpsManager.

Responses

Response samples

Content type
application/json
Example
{
  • "syslog": {
    }
}

Updating the Syslog configuration

Set the values of custom banners.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
Example
{
  • "syslog": {
    }
}

Response samples

Content type
application/json
{
  • "syslog": {
    }
}

Decrypt

Changing the Decryption Passphrase

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "decryption_passphrase": {
    }
}

Decrypt with the encryption passphrase

When the application reboots after initial setup, it requires an operator to enter the decryption passphrase once to decrypt its internal datastore.

Request Body schema: application/json
passphrase
string

Responses

Request samples

Content type
application/json
{
  • "passphrase": "example-passphrase"
}

Diagnostic Report

View the diagnostic report

Retrieve a diagnostic report with general information about the state of your Tanzu Ops Manager.

Responses

Response samples

Content type
application/json
{
  • "versions": {
    },
  • "generation_time": "2016-04-22T18:06:46Z",
  • "infrastructure_type": "vsphere",
  • "director_configuration": {
    },
  • "releases": [
    ],
  • "available_stemcells": [
    ],
  • "product_templates": [
    ],
  • "added_products": {
    }
}

Diff

View a diff of BOSH Director

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.

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    },
  • "cloud_config": {
    },
  • "runtime_configs": [
    ],
  • "cpi_configs": [
    ]
}

View a diff of a deployed product

Returns the diff of the manifest and runtime configs between the staged state and last successful deployment of a product.

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    },
  • "runtime_configs": [
    ]
}

Disk types

Deleting all custom disk types

Reverts available disk types to the default list

Responses

Returning all disk types

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.

Responses

Response samples

Content type
application/json
{
  • "disk_types": [
    ]
}

Overriding defaults with custom disk types

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.

Request Body schema: application/json
Array of objects

Responses

Request samples

Content type
application/json
{
  • "disk_types": [
    ]
}

Response samples

Content type
application/json
{
  • "disk_types": [
    ]
}

Errands

Viewing currently selected errands

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.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "errands": [
    ]
}

Configuring errands

Set activated or deactivated list of errands to run.

path Parameters
product_guid
required
string

The guid of the product

Request Body schema: application/json

OK

Array of objects (Errand)

Responses

Request samples

Content type
application/json
{
  • "errands": [
    ]
}

Export

Exporting an Tanzu Ops Manager

Responses

Import

Importing an exported Tanzu Ops Manager

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.

Request Body schema: multipart/form-data
installation[file]
string

Path to installation.zip file

passphrase
string

Responses

Request samples

Content type
multipart/form-data
curl "https://example.com/api/v0/installation_asset_collection" \
    -X POST \
    -F 'installation[file]=@/path/to/installation.zip' \
    -F 'passphrase=example-passphrase'

Reset

Resetting an Tanzu Ops Manager

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.

Request Body schema: application/json
Array of objects (Errand)

Responses

Request samples

Content type
application/json
{
  • "errands": {
    }
}

Response samples

Content type
application/json
{
  • "install": {
    }
}

Iaas Configurations

Deleting IaaS Configuration

This feature is only enabled for the vSphere and Openstack IaaS. All other IaaSes will receive a 501.

path Parameters
guid
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "errors": {
    }
}

Fetching single IaaS Configuration

Fetch single iaas configuration by guid

path Parameters
guid
required
string
query Parameters
redact
boolean

(Optional) If set to 'false', the response will include IaaS-specific secrets.

Responses

Response samples

Content type
application/json
{
  • "iaas_configuration": {
    }
}

Updating Single IaaS Configuration

Update an iaas configuration

path Parameters
guid
required
string
Request Body schema: application/json
PutAwsIaasConfiguration (object) or PutGoogleIaasConfiguration (object) or PutAzureIaasConfiguration (object) or AzureStackIaasConfiguration (object) or PutVsphereIaasConfiguration (object) or PutOpenstackIaasConfiguration (object) (PutIaasConfiguration)

Responses

Request samples

Content type
application/json
{
  • "iaas_configuration": {
    }
}

Response samples

Content type
application/json
{
  • "iaas_configuration": {
    }
}

Create a new IaaS Configuration

Creates a new IaaS configuration. Only supported on vSphere and OpenStack.

Request Body schema: application/json
PutVsphereIaasConfiguration (object) or PutOpenstackIaasConfiguration (object)

Responses

Request samples

Content type
application/json
{
  • "iaas_configuration": {
    }
}

Response samples

Content type
application/json
{
  • "iaas_configuration": {
    }
}

Fetching IaaS Configurations

Fetch list of all iaas configurations

query Parameters
redact
boolean

(Optional) If set to 'false', the response will include IaaS-specific secrets.

Responses

Response samples

Content type
application/json
{
  • "iaas_configurations": [
    ]
}

Icon

Icon of a product

Returns base64-encoded icon of the product.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "icon": "iVBORw0KGgoAAAANSUhEUgAAAUIAAADcCAYAAAAFtqgbAAAAAXNS..."
}

Info

View the version of OpsManager

Returns information of the Tanzu Ops Manager itself. Currently only version is returned.

Responses

Response samples

Content type
application/json
{
  • "info": {
    }
}

Install Time Verifiers

Deactivate / activate a verifier for the director

Deactivate / activate a verifier for the director during Apply Changes.

path Parameters
verifier_name
required
string
Request Body schema: application/json
enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "type": "NetworksPingableVerifier",
  • "enabled": false
}

Retrieving a list of install time verifiers for the director

Returns a list of install-time verifiers for the director and whether or not each is activated/deactivated.

Responses

Response samples

Content type
application/json
{
  • "verifiers": [
    ]
}

Deactivate / activate a verifier for a product

Deactivate / activate a verifier for a particular product during Apply Changes.

path Parameters
product_guid
required
string

The guid of the product

verifier_name
required
string
Request Body schema: application/json
enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "type": "NetworksPingableVerifier",
  • "enabled": false
}

Retrieving a list of install time verifiers for a product

Returns a list of verifiers associated with the product and if those verifiers are activated or deactivated

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "verifiers": [
    ]
}

Jobs

List jobs for a deployed product

Returns an array of the jobs on a deployed product by name and guid.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "jobs": [
    ]
}

List jobs for a deployed product

Returns an array of the jobs on a staged product by name and guid.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "jobs": [
    ]
}

Status of a deployed product's jobs

The information returned is based on the output of the bosh vms command, with some additional data added.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "status": [
    ]
}

VM credentials for a deployed product's jobs

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Logs

List downloadable director logs

ZIP files for tasks in the 'downloaded' stage are available at /api/v0/deployed/director/logs/:task_guid

Responses

Response samples

Content type
application/json
{
  • "tasks": [
    ]
}

Enqueueing log downloads for the director

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/director/logs

Responses

Response samples

Content type
application/json
{
  • "id": "3453589567389"
}

Download director logs

Downloads the corresponding logs for the given task_id.

path Parameters
task_id
required
integer >= 1

Responses

Response samples

Content type
application/json
"% 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"

List downloadable product job logs

ZIP files for tasks in the 'downloaded' stage are available at /api/v0/deployed/products/:product_guid/jobs/:job_guid/logs/:task_guid

path Parameters
product_guid
required
string

The guid of the product

job_guid
required
string

The guid of the job

Responses

Response samples

Content type
application/json
{
  • "tasks": [
    ]
}

Enqueueing log downloads for a given job

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

path Parameters
product_guid
required
string

The guid of the product

job_guid
required
string

The guid of the job

Responses

Response samples

Content type
application/json
{
  • "id": "3453589567389"
}

Download deployed product job log

path Parameters
product_guid
required
string

The guid of the product

job_guid
required
string

The guid of the job

task_id
required
integer >= 1

Responses

Response samples

Content type
application/json
"% 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"

Apply Change log

Returns BOSH logs for a given Apply Changes.

path Parameters
installation_id
required
number

The installation id

Responses

Response samples

Content type
application/json
{
  • "logs": "string"
}

Manifest

Manifest for a deployed director

To view the deployed product BOSH manifest

query Parameters
mode
string
Default: "last_attempted"
Enum: "last_successful" "last_attempted"

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    }
}

Retrieving manifest for a deployed product

To view the deployed product BOSH manifest

path Parameters
product_guid
required
string

The guid of the product

query Parameters
mode
string
Default: "last_attempted"
Enum: "last_successful" "last_attempted"

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    }
}

Getting BOSH manifests from a historical Apply Change

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.

path Parameters
installation_id
required
number

The installation id

product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    }
}

Manifest for a staged director

To view the director BOSH manifest

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    }
}

Manifest for a staged product

To view the product BOSH manifest for a staged product

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "manifest": {
    }
}

Max In Flight

Retrieving the max_in_flight settings for a product's jobs

Returns a list of the max_in_flight setting for all of the product's jobs.

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "max_in_flight": {
    }
}

Configuring the max_in_flight settings for a product's jobs

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.

path Parameters
product_guid
required
string

The guid of the product

Request Body schema: application/json
max_in_flight
object (This collection maps from job guid to either a number, percentage or "default")

Responses

Request samples

Content type
application/json
{
  • "max_in_flight": {
    }
}

Metadata

Migrating metadata

Request Body schema: multipart/form-data
metadata[file]
string

Metadata file

Responses

Request samples

Content type
multipart/form-data
curl "https://example.com/api/v0/metadata/migrate" \
    -X POST \
    -H "Authorization: Bearer UAA_ACCESS_TOKEN" \
    -F 'metadata[file]=@/path/to/component-type1.yml'

Response samples

Content type
application/json
{
  • "metadata": "YAML representation of the product metadata"
}

Networks and AZs assignment

Configuring the director's networks and azs

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.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
Example
{
  • "network_and_az": {
    }
}

Listing currently assigned networks and azs

The current network and AZ assignment for a staged product.

Responses

Response samples

Content type
application/json
{
  • "networks_and_azs": {
    }
}

Configuring a product's networks and azs

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.

Request Body schema: application/json
One of
object

Responses

Request samples

Content type
application/json
Example
{
  • "networks_and_azs": {
    }
}

Networks

Fetching networks for the staged director.

Fetches the collection of networks and subnets.

Responses

Response samples

Content type
application/json
{
  • "icmp_checks_enabled": true,
  • "networks": [
    ]
}

Updating networks for the staged director

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.

Request Body schema: application/json
icmp_checks_enabled
boolean
Array of objects (Network)

Responses

Request samples

Content type
application/json
{
  • "icmp_checks_enabled": true,
  • "networks": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Networks were saved but there were verification errors which may prevent you from deploying",
  • "verification_errors": [
    ]
}

VMware Tanzu Network

Checking for product updates

Will not have any valuable information unless you have configured a VMware Tanzu Network API token.

Request Body schema: application/json
product_name
string

Responses

Request samples

Content type
application/json
{
  • "product_name": "pivnet-product-name"
}

Response samples

Content type
application/json
{
  • "versions": [
    ]
}

Check the status of a download for VMware Tanzu Network

path Parameters
download_id
required
number

Responses

Response samples

Content type
application/json
{
  • "download": {
    }
}

Download a given product with version from VMware Tanzu Network

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.

Request Body schema: application/json
product_name
string
version
string
pivnet_filename_regex
string

If not specified, then OpsManager will use the first .pivotal file found for the corresponding product release on PivNet. Because the Pivotal Application Service product release provides two .pivotal files (Tanzu Application Service and Small Footprint TAS), specifying a regex will allow OpsManager to pick the correct file.

Responses

Request samples

Content type
application/json
{
  • "product_name": "pivnet-product-name",
  • "version": "1.2.3",
  • "pivnet_filename_regex": "cf-.*.pivotal"
}

Response samples

Content type
application/json
{
  • "download_id": 1
}

Fetching EULA content for a given product

Retrieves the EULA for the version of the requested product

query Parameters
product_name
string
version
string

Responses

Response samples

Content type
application/json
{
  • "eula": "Legalese..."
}

Accepting EULA for a given product

Deprecated: EULAs for a product can only be accepted on https://network.tanzu.vmware.com.

Responses

Response samples

Content type
application/json
{
  • "errors": {
    }
}

Removing the VMware Tanzu Network API token

You can delete your VMware Tanzu Network API token to deactivate Tanzu Ops Manager's integration with PivNet.

This also removes the current list of product and stemcell upgrades from PivNet on the Tanzu Ops Manager dashboard.

Responses

Adding or updating the VMware Tanzu Network API token

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.

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "pivotal_network_settings": {
    }
}

Response samples

Content type
application/json
{
  • "success": true
}

Checking for stemcell updates

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.

Responses

Response samples

Content type
application/json
{
  • "stemcell_updates": [
    ]
}

Predeploy Check

Running a pre-deploy check for the staged BOSH Director

Returns granular information about whether the staged BOSH Director is ready to be deployed. It lists the following:

  • network assignment
  • availability zone assignment
  • stemcell assignment
  • properties that have errors
  • invalid resource configuration for jobs (Note: this can only occur on non-BOSH products but is documented here for consistency)
  • verifiers that failed

Responses

Response samples

Content type
application/json
{
  • "pre_deploy_check": {
    }
}

Running a pre-deploy check for a staged product

Returns granular information about whether the specified product is ready to be deployed. It lists the following:

  • network assignment
  • availability zone assignment
  • stemcell assignment
  • properties that have errors
  • invalid resource configuration for jobs
  • verifiers that failed
path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "pre_deploy_check": {
    }
}

Products

Deleting a single unused product

Deletes all unused products, and any stemcells and releases used only by it.

When product_name and version is specified, only that product version will be deleted.

query Parameters
product_name
string
version
string

Responses

Listing all available products

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Uploading a product

Request Body schema: multipart/form-data
product[file]
string

Path to tile

Responses

Request samples

Content type
multipart/form-data
curl "https://example.com/api/v0/available_products" \
    -X POST \
    -H "Authorization: Bearer UAA_ACCESS_TOKEN" \
    -F 'product[file]=@/path/to/component.zip'

Viewing a single deployed product

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "installation_name": "component-type1-installation-name",
  • "guid": "component-type1-guid",
  • "type": "component-type1",
  • "product_version": "1.0",
  • "stale": {
    },
  • "label": "product-label"
}

All deployed products

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Removing a staged product

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "component": {
    }
}

Viewing a single staged product

path Parameters
product_guid
required
string

The guid of the product

Responses

Response samples

Content type
application/json
{
  • "installation_name": "component-type1-installation-name",
  • "guid": "component-type1-guid",
  • "type": "component-type1",
  • "product_version": "1.0.1",
  • "label": "A Product"
}

Upgrading a staged product

path Parameters
product_guid
required
string

The guid of the product

Request Body schema: application/json
to_version
string (Version to which the product will be upgraded)

Responses

Request samples

Content type
application/json
{
  • "to_version": "2.0.0.0-alpha"
}

Adding an available product

Request Body schema: application/json
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')

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "product_version": "string"
}

All staged products

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Properties

Getting a staged director's properties

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:

  • director_configuration.s3_blobstore_options.access_key
  • director_configuration.s3_blobstore_options.secret_key
  • director_configuration.gcs_blobstore_options.service_account_key
  • director_configuration.external_database_options.password
  • director_configuration.hm_pager_duty_options.service_key
  • director_configuration.hm_emailer_options.smtp_password
  • director_configuration.providers[*].partition_password
  • director_configuration.providers[*].client_key
query Parameters
redact
boolean

(Optional) If set to 'false', the response will include IaaS-specific secrets.

Responses

Response samples

Content type
application/json
Example
{
  • "iaas_configuration": {
    },
  • "director_configuration": {