API Reference

Last updated: 04-16-2024

Nutanix NDB (0.9)

Download OpenAPI specification:Download

Nutanix Database Service (formerly Era) (NDB) is a database as a service (DBaaS) that automates and simplifies database administration, brings one-click simplicity and invisible operations to database provisioning and life-cycle management. NDB enables database administrators to provision, clone, and refresh the databases at any point in time. NDB allows administrators to define standards for their database provisioning needs with end-state driven functionality that includes High Availability (HA) database deployments. NDB automates and simplifies the operations such as provisioning of databases and copy data management.

Notes

While making Nutanix API requests to the NDB services by using the default self-signed certificates, the request needs to be configured to ignore SSL certificate verification requests. For example, in case of a cURL,use - - insecure flag to ensure that the SSL certificate used to encrypt the request should not be verified.

Alerts

Get Alert by ID

Get an alert detail by ID

Authorizations:
era_tokenera_auth
path Parameters
alertId
required
string
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts/{alertId} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "message": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "entityType": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "policyId": "string",
  • "operationId": "string",
  • "ownerId": "string",
  • "severity": "string",
  • "resetResolved": false,
  • "resolved": false,
  • "dateResolved": "string",
  • "resetAcknowledged": false,
  • "acknowledged": false,
  • "dateAcknowledged": "string",
  • "notified": false
}

Get Alert Policy by ID

Authorizations:
era_tokenera_auth
path Parameters
alertPolicyId
required
string
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts/policy/{alertPolicyId} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "displayName": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "operation": "string",
  • "ownerId": "string",
  • "systemPolicy": false,
  • "severity": "string",
  • "resetSeverity": false,
  • "enabled": false,
  • "resetEnabled": false,
  • "deprecated": false
}

Get Alert policy by name

Authorizations:
era_tokenera_auth
path Parameters
alertPolicyName
required
string
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts/policy/name/{alertPolicyName} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "displayName": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "operation": "string",
  • "ownerId": "string",
  • "systemPolicy": false,
  • "severity": "string",
  • "resetSeverity": false,
  • "enabled": false,
  • "resetEnabled": false,
  • "deprecated": false
}

Get list of Alert poilicies

Authorizations:
era_tokenera_auth
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts/policy \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get list of all Alerts

Authorizations:
era_tokenera_auth
query Parameters
resolved
string
timeInterval
string
summary
string
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get Purge Policy

Authorizations:
era_tokenera_auth
header Parameters
authorization
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/alerts/purgeInterval \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'authorization: ' \
     

Response samples

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

Resolve/acknowledge alerts

Resolve/acknowledge one or more alerts

Authorizations:
era_tokenera_auth
Request Body schema: application/json
Array
id
string
resetResolved
boolean
Default: false
resolved
boolean
Default: false
acknowledged
boolean
Default: false
resetAcknowledged
boolean
Default: false

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/alerts \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Update Alert Policy by ID

Authorizations:
era_tokenera_auth
path Parameters
alertPolicyId
required
string
Request Body schema: application/json
id
string
severity
string
enabled
boolean
Default: false
resetEnabled
boolean
Default: false
resetSeverity
boolean
Default: false
dateCreated
string
dateModified
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/alerts/policy/{alertPolicyId} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "dateCreated": "2018-16-04 11:09:52",
    "dateModified": "2018-16-04 11:09:52",
    "enabled": false,
    "id": "string",
    "resetEnabled": false,
    "resetSeverity": false,
    "severity": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "displayName": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "operation": "string",
  • "ownerId": "string",
  • "systemPolicy": false,
  • "severity": "string",
  • "resetSeverity": false,
  • "enabled": false,
  • "resetEnabled": false,
  • "deprecated": false
}

Update an Alert by ID

Authorizations:
era_tokenera_auth
path Parameters
alertId
required
string
Request Body schema: application/json
id
string
resetResolved
boolean
Default: false
resolved
boolean
Default: false
acknowledged
boolean
Default: false
resetAcknowledged
boolean
Default: false

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/alerts/{alertId} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "acknowledged": false,
    "id": "string",
    "resetAcknowledged": false,
    "resetResolved": false,
    "resolved": false
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "message": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "entityType": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "policyId": "string",
  • "operationId": "string",
  • "ownerId": "string",
  • "severity": "string",
  • "resetResolved": false,
  • "resolved": false,
  • "dateResolved": "string",
  • "resetAcknowledged": false,
  • "acknowledged": false,
  • "dateAcknowledged": "string",
  • "notified": false
}

Update Purge Policy

Authorizations:
era_tokenera_auth
header Parameters
authorization
string
Default:
Request Body schema: application/json
alertPurgeInterval
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/alerts/purgeInterval \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --header 'authorization: ' \
    --data '{
    "alertPurgeInterval": "string"
}'

Response samples

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

AZ Domains

Delete the given AZ domain

Delete the given AZ domain

Authorizations:
era_tokenera_auth
path Parameters
az-domain-id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/az-domains/{az-domain-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "ipAddress": "string",
  • "description": "string",
  • "cloudType": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "status": "UP",
  • "username": "string",
  • "password": "string"
}

Get a list of AZ domains

Get a list of AZ domains

Authorizations:
era_tokenera_auth
query Parameters
limit
integer [ 1 .. 100 ]
Default: 100

The number of az domains to return

offset
integer
Default: 0

The number of domains skipped before selecting the next set of domains

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/az-domains \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of clusters under the given domain

Get a list of clusters under the given domain

Authorizations:
era_tokenera_auth
path Parameters
az-domain-id
required
string
query Parameters
limit
integer [ 1 .. 100 ]
Default: 100

The numbers of clusters to return

offset
integer
Default: 0

The number of clusters skipped before selecting the next set of clusters

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/az-domains/{az-domain-id}/clusters \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get one AZ domain by ID

Get one AZ domain by ID

Authorizations:
era_tokenera_auth
path Parameters
az-domain-id
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/az-domains/{az-domain-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "ipAddress": "string",
  • "description": "string",
  • "cloudType": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "status": "UP",
  • "username": "string",
  • "password": "string"
}

Patch the given AZ domain

Patch the given AZ domain

Authorizations:
era_tokenera_auth
path Parameters
az-domain-id
required
string
Request Body schema: application/json
required
id
string
name
string
ipAddress
string
description
string
cloudType
string
ownerId
string
dateCreated
string
dateModified
string
status
string
Enum: "UP" "DOWN"
username
string
password
string

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/az-domains/{az-domain-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "cloudType": "string",
    "dateCreated": "string",
    "dateModified": "string",
    "description": "string",
    "id": "string",
    "ipAddress": "string",
    "name": "string",
    "ownerId": "string",
    "password": "string",
    "status": "UP",
    "username": "string"
}'

Register a Prism Central as AZ domain in NDB

Register a Prism Central as AZ domain in NDB

Authorizations:
era_tokenera_auth
Request Body schema: application/json

Input required to create a AZ domain

id
string
name
string
ipAddress
string
description
string
cloudType
string
ownerId
string
dateCreated
string
dateModified
string
status
string
Enum: "UP" "DOWN"
username
string
password
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/az-domains \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "cloudType": "string",
    "dateCreated": "string",
    "dateModified": "string",
    "description": "string",
    "id": "string",
    "ipAddress": "string",
    "name": "string",
    "ownerId": "string",
    "password": "string",
    "status": "UP",
    "username": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "ipAddress": "string",
  • "description": "string",
  • "cloudType": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "status": "UP",
  • "username": "string",
  • "password": "string"
}

Clones

Deregister given Clone

Authorizations:
era_tokenera_auth
path Parameters
clone_id
required
string
query Parameters
delete-tm
string
Default: "true"
Request Body schema: application/json

Optional input for deleting clone

softRemove
boolean
Default: false
remove
boolean
Default: false
delete
boolean
Default: false
forced
boolean
Default: false
deleteDataDrives
boolean
Default: false
deleteLogicalCluster
boolean
Default: false
removeLogicalCluster
boolean
Default: false
deleteTimeMachine
boolean
Default: false

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/clones/{clone_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Get Clone by value-type

Authorizations:
era_tokenera_auth
path Parameters
clone_id
required
string

It holds corresponding value for value type

query Parameters
value-type
string
Default: "id"
Enum: "id" "name" "database-name"
detailed
boolean
Default: false

Load entities with entire details

any-status
boolean
Default: false

Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted)

load-dbserver-cluster
boolean
Default: false

Load cluster info

time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clones/{clone_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "clone": false,
  • "eraCreated": false,
  • "placeholder": false,
  • "databaseName": "string",
  • "type": "string",
  • "databaseClusterType": "string",
  • "status": "string",
  • "databaseStatus": "string",
  • "dbserverLogicalClusterId": "string",
  • "timeMachineId": "string",
  • "parentTimeMachineId": "string",
  • "timeZone": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "lcmConfig": {
    },
  • "timeMachine": {
    },
  • "dbserverlogicalCluster": {
    },
  • "databaseNodes": [
    ],
  • "parentTimeMachine": {
    }
}

Get Input file for Clone Refresh Operation

Get the list of inputs required to refresh a clone of given type. This will return the complete metadata for each input property such as display name, description, etc. Only the 'name' and 'value' should be given to the 'actionArguments' part of the input JSON for registering a database. Example:

{
  ...
  ...
  'actionArguments': [
    {
      'name': 'db_prop_1',
      'value': 'val1'
    },
    {
      'name': 'db_prop_2',
      'value': 'val2'
    },
    ...
    ...
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
database_engine
required
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clones/refresh/{database_engine}/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

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

Get list of all Clones

Get all the clones, optionally created from a particular time machine.

Authorizations:
era_tokenera_auth
query Parameters
value-type
string

"id", "name", "database-name"

value
string

It holds corresponding value for value type

detailed
boolean
Default: false

Load entities with entire details

any-status
boolean
Default: false

Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted)

load-dbserver-cluster
boolean
Default: false

Load cluster info

order-by-dbserver-cluster
boolean
Default: false
order-by-dbserver-logical-cluster
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clones \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Start Refresh Operation for given Clone

Refresh a clone created using NDB. Before calling this API, make sure to gather necessary information by doing the below mentioned things:

1. Get the clone ID by calling '/clones'.
2. Get the snapshot ID or valid PITR timestamp by calling '/tms/{tm-id}/capability'.
3. [Optional] Get the input property list by calling '/clones/refresh/{database_engine}/input-file'.
Authorizations:
era_tokenera_auth
path Parameters
clone_id
required
string
Request Body schema: application/json
snapshotId
string
pitrTimestamp
string
latestSnapshot
boolean
Default: false
timeZone
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/clones/{clone_id}/refresh \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "latestSnapshot": false,
    "pitrTimestamp": "string",
    "snapshotId": "string",
    "timeZone": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update given Clone

Update a clone's name, description or tags

Authorizations:
era_tokenera_auth
path Parameters
clone_id
required
string
query Parameters
set-lcm-config
boolean
Default: false
unset-lcm-config
boolean
Default: false
Request Body schema: application/json
name
string
description
string
Array of objects (Tags)
resetName
boolean
Default: false
resetDescription
boolean
Default: false
resetTags
boolean
Default: false

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/clones/{clone_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "name": "string",
    "resetDescription": false,
    "resetName": false,
    "resetTags": false,
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "clone": false,
  • "eraCreated": false,
  • "placeholder": false,
  • "databaseName": "string",
  • "type": "string",
  • "databaseClusterType": "string",
  • "status": "string",
  • "databaseStatus": "string",
  • "dbserverLogicalClusterId": "string",
  • "timeMachineId": "string",
  • "parentTimeMachineId": "string",
  • "timeZone": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "lcmConfig": {
    },
  • "timeMachine": {
    },
  • "dbserverlogicalCluster": {
    },
  • "databaseNodes": [
    ],
  • "parentTimeMachine": {
    }
}

Clusters

Delete given Cluster

Authorizations:
era_tokenera_auth
path Parameters
cluster_id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/clusters/{cluster_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Get all supported Cloud Types

Authorizations:
era_tokenera_auth

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clusters/supported-clouds \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get cluster by ID

Authorizations:
era_tokenera_auth
path Parameters
cluster_id
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clusters/{cluster_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "uniqueName": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "description": "string",
  • "cloudType": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "ownerId": "string",
  • "status": "string",
  • "version": "string",
  • "hypervisorType": "string",
  • "hypervisorVersion": "string",
  • "properties": [
    ]
}

Get Cluster by its name

Authorizations:
era_tokenera_auth
path Parameters
cluster_name
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clusters/name/{cluster_name} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "uniqueName": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "description": "string",
  • "cloudType": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "ownerId": "string",
  • "status": "string",
  • "version": "string",
  • "hypervisorType": "string",
  • "hypervisorVersion": "string",
  • "properties": [
    ]
}

Get list of all Clusters

Authorizations:
era_tokenera_auth
query Parameters
include-management-server-info
boolean
Default: false

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/clusters \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Update given Cluster

Authorizations:
era_tokenera_auth
path Parameters
cluster_id
required
string
Request Body schema: application/json
id
string
name
string
uniqueName
string
ipAddresses
Array of strings
fqdns
Array of strings
description
string
cloudType
string
dateCreated
string
dateModified
string
ownerId
string
status
string
version
string
hypervisorType
string
hypervisorVersion
string
Array of objects (ClusterProperties)
referenceCount
integer <int32>
username
string
password
string
object (CloudInfo)
object (ResourceConfig)
object (ManagementServerInfo)
ip
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/clusters/{cluster_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "cloudInfo": {
        "clusterIp": "string",
        "nameServers": [
            "string"
        ],
        "ntpServers": [
            "string"
        ],
        "timezone": "string",
        "timezoneConfigFile": "string"
    },
    "cloudType": "string",
    "dateCreated": "string",
    "dateModified": "string",
    "description": "string",
    "fqdns": [
        "string"
    ],
    "hypervisorType": "string",
    "hypervisorVersion": "string",
    "id": "string",
    "ip": "string",
    "ipAddresses": [
        "string"
    ],
    "managementServerInfo": {
        "ip": "string",
        "password": "string",
        "status": "string",
        "type": "string",
        "username": "string",
        "version": "string"
    },
    "name": "string",
    "ownerId": "string",
    "password": "string",
    "properties": [
        {
            "description": "string",
            "name": "string",
            "refId": "string",
            "secure": false,
            "value": "string"
        }
    ],
    "referenceCount": 0,
    "resourceConfig": {
        "memoryThresholdPercentage": 0,
        "storageThresholdPercentage": 0
    },
    "status": "string",
    "uniqueName": "string",
    "username": "string",
    "version": "string"
}'

Database Server Physical Clusters

Deregister given DB Server Cluster by ID

Authorizations:
era_tokenera_auth
path Parameters
dbserver-cluster-id
required
string
Request Body schema: application/json
delete
boolean
Default: false
forced
boolean
Default: false
softRemove
boolean
Default: false
remove
boolean
Default: false
object (Dbservers)

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/dpcs/{dbserver-cluster-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Get DB server cluster by ID

Authorizations:
era_tokenera_auth
path Parameters
dbserver-cluster-id
required
string

id

query Parameters
value-type
string
Default: "id"
Value: "id"
load-databases
boolean
Default: false
load-clones
boolean
Default: false
load-metrics
boolean
Default: false
detailed
boolean
Default: false
any-status
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/dpcs/{dbserver-cluster-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "eraCreated": false,
  • "name": "string",
  • "physicalClusterName": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "description": "string",
  • "platformType": "string",
  • "databaseType": "string",
  • "status": "string",
  • "clusterStatus": "string",
  • "placeholder": false,
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "dbservers": [
    ],
  • "dbserverLogicalClusters": [
    ]
}

Get list of all DB server clusters

Authorizations:
era_tokenera_auth
query Parameters
value-type
string
Value: "id"
value
string

id

load-databases
boolean
Default: false
load-clones
boolean
Default: false
load-metrics
boolean
Default: false
detailed
boolean
Default: false
any-status
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/dpcs \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Patch given DB Server Cluster

Authorizations:
era_tokenera_auth
path Parameters
dbserver-cluster-id
required
string
Request Body schema: application/json

Input required to patch DB Server Cluster

Array of objects (ActionArguments)
softwareProfileVersionId
string
object (ScheduleInfo)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dpcs/{dbserver-cluster-id}/patch \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "scheduleInfo": {
        "scheduleTime": "string",
        "timeZone": "string"
    },
    "softwareProfileVersionId": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Provision DB Server Cluster

Authorizations:
era_tokenera_auth
Request Body schema: application/json

Input required to provision a DBServerCluster

newDbServerTimeZone
string
Array of objects (ActionArguments)
softwareProfileId
string
databaseType
string
name
string
Array of objects (Node)
username
string
password
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dpcs/provision \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "databaseType": "string",
    "name": "string",
    "newDbServerTimeZone": "string",
    "nodes": [
        {
            "computeProfileId": "string",
            "networkProfileId": "string",
            "newDbServerTimeZone": {},
            "nxClusterId": "string",
            "properties": [
                {}
            ],
            "vmName": "string"
        }
    ],
    "password": "string",
    "softwareProfileId": "string",
    "username": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Register DB Server Cluster

Authorizations:
era_tokenera_auth
Request Body schema: application/json

Input required to register DB Server Physical Cluster

Array of objects (ActionArguments)
vmIp
string
nxClusterUuid
string
forcedInstall
boolean
Default: false
workingDirectory
string
databaseType
string
name
string
username
string
password
string
eraDeployBase
string
description
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dpcs/register \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "databaseType": "string",
    "description": "string",
    "eraDeployBase": "string",
    "forcedInstall": false,
    "name": "string",
    "nxClusterUuid": "string",
    "password": "string",
    "username": "string",
    "vmIp": "string",
    "workingDirectory": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update DB Server Cluster Partially

Authorizations:
era_tokenera_auth
path Parameters
dbserver-cluster-id
required
string
Request Body schema: application/json

Input required to update DB Server Cluster

name
string
description
string
Array of objects (Tags)
resetName
boolean
Default: false
resetDescription
boolean
Default: false
resetTags
boolean
Default: false

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/dpcs/{dbserver-cluster-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "name": "string",
    "resetDescription": false,
    "resetName": false,
    "resetTags": false,
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "eraCreated": false,
  • "name": "string",
  • "physicalClusterName": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "description": "string",
  • "platformType": "string",
  • "databaseType": "string",
  • "status": "string",
  • "clusterStatus": "string",
  • "placeholder": false,
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "dbservers": [
    ],
  • "dbserverLogicalClusters": [
    ]
}

Database Servers

Deregister Host

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string
Request Body schema: application/json
required

Input required to deregister dbserver

softRemove
boolean
Default: false

This field specified that no cleanup/deletion operation should be submitted

remove
boolean
Default: false

This field is used to specify that the DBServer should be cleaned up

delete
boolean
Default: false

This is used to specify the DBServer VM has to be deleted from cluster.

deleteVgs
boolean
Default: false
deleteVmSnapshots
boolean
Default: false

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Get Database Server by value-type

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string

It holds corresponding value for value type

query Parameters
value-type
string
Default: "id"
Enum: "id" "ip" "name" "vm-cluster-name" "vm-cluster-uuid" "dbserver-cluster-id" "nx-cluster-id" "fqdn"
load-dbserver-cluster
boolean
Default: false
load-databases
boolean
Default: false
load-clones
boolean
Default: false
load-metrics
boolean
Default: false
detailed
boolean
Default: false

Load entities with entire details

curator
boolean
Default: false

Get entity(s) if it satisfies query criteria irrespective of status (retrieve even deleted)

time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "eraCreated": false,
  • "dbserverClusterId": "string",
  • "name": "string",
  • "description": "string",
  • "vmClusterName": "string",
  • "vmClusterUuid": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "macAddresses": [
    ],
  • "type": "DBSERVER",
  • "placeholder": false,
  • "status": "string",
  • "clientId": "string",
  • "nxClusterId": "string",
  • "eraDriveId": "string",
  • "eraVersion": "string",
  • "vmTimeZone": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "vmInfo": {
    },
  • "info": {
    },
  • "metadata": {
    },
  • "metric": {
    },
  • "lcmConfig": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "requestedVersion": "string",
  • "is_server_driven": false,
  • "associated_time_machine_id": "string",
  • "time_machine_info": [
    ],
  • "eraDrive": {
    },
  • "databases": [
    ],
  • "clones": [
    ],
  • "accessKey": "string",
  • "softwareInstallations": [
    ],
  • "workingDirectory": "string",
  • "singleInstaceDatabases": [
    ],
  • "databaseType": "string",
  • "associatedTimeMachineIds": [
    ],
  • "accessKeyId": "string",
  • "clusteredDatabases": [
    ],
  • "singleInstaceClones": [
    ],
  • "clusteredClones": [
    ],
  • "dbserverInValidEaState": false,
  • "singleIp": "string"
}

Get list of all Database Servers

Authorizations:
era_tokenera_auth
query Parameters
value-type
string

ip, name, vm-cluster-name, vm-cluster-uuid, dbserver-cluster-id, nx-cluster-id, fqdn

value
string

It holds corresponding value for value type

load-dbserver-cluster
boolean
Default: false
load-databases
boolean
Default: false
load-clones
boolean
Default: false
detailed
boolean
Default: false
load-metrics
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/dbservers \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Patch given Database server

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string
Request Body schema: application/json

Input required to patch DB Server

Array of objects (ActionArguments)
softwareProfileVersionId
string
object (ScheduleInfo)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id}/patch \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "scheduleInfo": {
        "scheduleTime": "string",
        "timeZone": "string"
    },
    "softwareProfileVersionId": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Provision Database Server

Register a database server with NDB

Authorizations:
era_tokenera_auth
Request Body schema: application/json
required

Input required to Create a DBServer

newDbServerTimeZone
string
Array of objects (ActionArguments)
nxClusterId
string
softwareProfileId
string
latestSnapshot
boolean
Default: false
databaseType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
computeProfileId
string
networkProfileId
string
timeMachineId
string
timeZone
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dbservers/provision \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "computeProfileId": "string",
    "databaseType": "oracle_database",
    "latestSnapshot": false,
    "networkProfileId": "string",
    "newDbServerTimeZone": "string",
    "nxClusterId": "string",
    "softwareProfileId": "string",
    "timeMachineId": "string",
    "timeZone": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Register an existing Database Server

Register a database server with NDB

Authorizations:
era_tokenera_auth
Request Body schema: application/json

Input required to Create a DBServer

Array of objects (ActionArguments)
vmIp
string
nxClusterUuid
string
forcedInstall
boolean
Default: true
workingDirectory
string
databaseType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
username
string
password
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dbservers/register \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "databaseType": "oracle_database",
    "forcedInstall": true,
    "nxClusterUuid": "string",
    "password": "string",
    "username": "string",
    "vmIp": "string",
    "workingDirectory": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update Dbserver credential

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string
Request Body schema: application/json
hostId
string
username
string
password
string
sshPrivateKey
string
sshPublicKey
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id}/creds \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "hostId": "string",
    "password": "string",
    "sshPrivateKey": "string",
    "sshPublicKey": "string",
    "username": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update given Database Server

Update a database server's description and/or tags

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string
query Parameters
set-lcm-config
boolean
Default: false
unset-lcm-config
boolean
Default: false
Request Body schema: application/json
required

Input to update DBServer

description
string
Array of objects (Tags)

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "eraCreated": false,
  • "dbserverClusterId": "string",
  • "name": "string",
  • "description": "string",
  • "vmClusterName": "string",
  • "vmClusterUuid": "string",
  • "ipAddresses": [
    ],
  • "fqdns": [
    ],
  • "macAddresses": [
    ],
  • "type": "DBSERVER",
  • "placeholder": false,
  • "status": "string",
  • "clientId": "string",
  • "nxClusterId": "string",
  • "eraDriveId": "string",
  • "eraVersion": "string",
  • "vmTimeZone": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "vmInfo": {
    },
  • "info": {
    },
  • "metadata": {
    },
  • "metric": {
    },
  • "lcmConfig": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "requestedVersion": "string",
  • "is_server_driven": false,
  • "associated_time_machine_id": "string",
  • "time_machine_info": [
    ],
  • "eraDrive": {
    },
  • "databases": [
    ],
  • "clones": [
    ],
  • "accessKey": "string",
  • "softwareInstallations": [
    ],
  • "workingDirectory": "string",
  • "singleInstaceDatabases": [
    ],
  • "databaseType": "string",
  • "associatedTimeMachineIds": [
    ],
  • "accessKeyId": "string",
  • "clusteredDatabases": [
    ],
  • "singleInstaceClones": [
    ],
  • "clusteredClones": [
    ],
  • "dbserverInValidEaState": false,
  • "singleIp": "string"
}

Vertically scale given Database server

Authorizations:
era_tokenera_auth
path Parameters
dbserver_id
required
string
Request Body schema: application/json

Input required to vertically scale DB Server

targetComputeProfileId
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/dbservers/{dbserver_id}/scale \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "targetComputeProfileId": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Databases

Deregister a database by ID

Authorizations:
era_tokenera_auth
path Parameters
database_id
required
string
Request Body schema: application/json
softRemove
boolean
Default: false

no cleanup/deletion operation should be submitted

remove
boolean
Default: false

This field is used to specify that the database should be cleaned up

delete
boolean
Default: false

the database has to be deleted from the dbserver

deleteTimeMachine
boolean
Default: false

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/databases/{database_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Get all Databases

Get all registered and provisioned databases.

Authorizations:
era_tokenera_auth
query Parameters
value-type
string

"id", "name", "database-name"

value
string

It holds corresponding value for value type

detailed
boolean
Default: false

Load entities with entire details

load-dbserver-cluster
boolean
Default: false

Load cluster info

order-by-dbserver-cluster
boolean
Default: false
order-by-dbserver-logical-cluster
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/databases \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get Database by value type

Returns the database details for the given value corresponding to valueType

Authorizations:
era_tokenera_auth
path Parameters
database_id
required
string

It holds corresponding value for value type

query Parameters
value-type
string
Default: "id"
Enum: "id" "name" "database-name"
detailed
boolean
Default: false

Load entities with entire details

load-dbserver-cluster
boolean
Default: false

Load cluster info

time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/databases/{database_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "clone": false,
  • "eraCreated": false,
  • "placeholder": false,
  • "databaseName": "string",
  • "type": "string",
  • "databaseClusterType": "string",
  • "status": "string",
  • "databaseStatus": "string",
  • "dbserverLogicalClusterId": "string",
  • "timeMachineId": "string",
  • "parentTimeMachineId": "string",
  • "timeZone": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "lcmConfig": {
    },
  • "databaseNodes": [
    ]
}

Get Input File for Provisioning Application

Get the list of inputs required to provision a database of given type. This will return the complete metadata for each input property such as display name, description, etc. Only the 'name' and 'value' should be given to the 'provisionInfo' part of the input JSON for provisioning a database. Example:

{
  ...
  ...
  'provisionInfo': [
    {
      'name': 'db_prop_1',
      'value': 'val1'
    },
    {
      'name': 'db_prop_2',
      'value': 'val2'
    },
    ...
    ...
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
database_engine
required
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
query Parameters
category
required
string
Value: "db_server;database"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/app_types/{database_engine}/provision/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

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

Get Input File for Registering/Adding Application

Get the list of inputs required to register a database of given type. This will return the complete metadata for each input property such as display name, description, etc. Only the 'name' and 'value' should be given to the 'applicationInfo' part of the input JSON for registering a database. Example:

{
  ...
  ...
  'applicationInfo': [
    {
      'name': 'vm_ip',
      'value': '10.10.10.10'
    },
    {
      'name': 'db_prop_1',
      'value': 'val1'
    },
    ...
    ...
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
database_engine
required
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
query Parameters
category
required
string
Value: "db_server;database"
entity-type
string
Default: "databases"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/app_types/{database_engine}/register/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

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

Provision a database

Provision a database using NDB and create a Time Machine for it. Before calling this API, make sure to gather necessary information by doing the below mentioned things:

1. Get the required input property list by calling '/app_types/{database_engine}/provision/input-file'.
2. Get the cluster ID by calling '/clusters'.
3. Get the profile IDs by calling '/profiles'.
4. [Optional] Get the SLA ID by calling '/slas'.
Authorizations:
era_tokenera_auth
Request Body schema: application/json
required

Input required to provision a database

databaseType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
name
string
softwareProfileId
string
softwareProfileVersionId
string
computeProfileId
string
networkProfileId
string
dbParameterProfileId
string
newDbServerTimeZone
string
object (TimeMachineInfo)

Time Machine Info

Array of objects (ActionArguments)
createDbserver
boolean
Default: true
nodeCount
integer <int32>
nxClusterId
string
sshPublicKey
string
clustered
boolean
Default: false
Array of objects (Nodes)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/databases/provision \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "clustered": false,
    "computeProfileId": "string",
    "createDbserver": true,
    "databaseType": "oracle_database",
    "dbParameterProfileId": "string",
    "name": "InstanceName",
    "networkProfileId": "string",
    "newDbServerTimeZone": "Asia/Calcutta",
    "nodeCount": 0,
    "nodes": [
        {
            "properties": [
                {
                    "name": "string",
                    "value": "string"
                }
            ],
            "vmName": "string"
        }
    ],
    "nxClusterId": "string",
    "softwareProfileId": "14c95265-ca6a-4d86-8f34-422346321997",
    "softwareProfileVersionId": "3019c230-0186-4077-b59c-7342bb288987",
    "sshPublicKey": "string",
    "timeMachineInfo": {
        "autoTuneLogDrive": false,
        "description": "string",
        "name": "InstanceName_TM",
        "schedule": {
            "continuousSchedule": {
                "enabled": false,
                "logBackupInterval": 0,
                "logBackupRepeatIntervalInMinutes": 0,
                "snapshotRepeatIntervalInMinutes": 0,
                "snapshotsPerDay": 0
            },
            "monthlySchedule": {
                "dayOfMonth": 0,
                "enabled": false
            },
            "quartelySchedule": {
                "dayOfMonth": 0,
                "enabled": false,
                "startMonth": "string",
                "startMonthValue": "JANUARY"
            },
            "snapshotTimeOfDay": {
                "hours": 0,
                "minutes": 0,
                "seconds": 0
            },
            "weeklySchedule": {
                "dayOfWeek": "string",
                "dayOfWeekValue": "SUNDAY",
                "enabled": false
            },
            "yearlySchedule": {
                "dayOfMonth": 0,
                "enabled": false,
                "month": "string",
                "monthValue": "JANUARY"
            }
        },
        "slaId": "4d9dcd6d-b6f8-47f0-8015-9e691c1d3cf4",
        "tags": [
            {
                "tagId": "string",
                "value": "string"
            }
        ]
    }
}'

Response samples

Content type
application/json
{
  • "ownerId": "string",
  • "userDTO": {
    },
  • "connection": {
    },
  • "timeZone": "string",
  • "actionHeader": [
    ],
  • "actionArguments": [
    ],
  • "payload": { },
  • "parentOperation": {
    },
  • "parentWorkId": "string",
  • "parentStepIndex": 0,
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "applicationType": "string",
  • "hostId": "string",
  • "clientId": "string",
  • "applicationId": "string",
  • "systemCreated": false,
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "submissionDate": "string",
  • "expiryDate": "string",
  • "status": "string",
  • "operationId": "string",
  • "parentId": "string",
  • "parentOpStep": 0,
  • "submittedForOwnerId": "string",
  • "priority": 0,
  • "message": "string",
  • "statusName": "string",
  • "verboseLevel": 0,
  • "properties": [
    ],
  • "operationDefinition": {
    },
  • "stepGenEnabled": false,
  • "deferredBy": "string",
  • "isEraCreated": false,
  • "isInternal": false,
  • "scheduleTime": "string",
  • "scheduleInfo": {
    },
  • "lcmConfig": {
    },
  • "dependencyReport": {
    },
  • "tags": [
    ],
  • "skipDriverArgumentValidations": false,
  • "databaseType": "string",
  • "databaseDescription": "string",
  • "timeMachineInfo": {
    },
  • "createDbserver": false,
  • "clustered": false,
  • "computeProfileId": "string",
  • "networkProfileId": "string",
  • "softwareProfileId": "string",
  • "softwareProfileVersionId": "string",
  • "dbParameterProfileId": "string",
  • "eraDeployBase": "string",
  • "nxClusterName": "string",
  • "nxClusterId": "string",
  • "dbserverId": "string",
  • "dbserverClusterId": "string",
  • "dbserverLogicalClusterId": "string",
  • "nodeCount": 0,
  • "nodes": [
    ],
  • "newDbServerTimeZone": "string",
  • "newDbServerTimeZoneId": "string",
  • "workingDirectory": "string",
  • "sshPublicKey": "string",
  • "provisionType": "string",
  • "database": {
    },
  • "dbServerId": "string",
  • "dbClusterId": "string"
}

Register an existing Database

Register a source database with NDB and create a Time Machine for it. Before calling this API, make sure to gather necessary information by doing the below mentioned things:

1. Get the required input property list by calling '/app_types/{database_engine}/register/input-file'.
2. Get the cluster name/ID by calling '/clusters'.
3. [Optional] Get the SLA name/ID by calling '/slas'.
Authorizations:
era_tokenera_auth
Request Body schema: application/json

Input for registering database

Array of objects (ActionArguments)
nxClusterId
string
databaseType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
databaseName
string
description
string
clustered
boolean
Default: false
forcedInstall
boolean
Default: false
vmIp
string
vmUsername
string
vmPassword
string
vmSshkey
string
vmDescription
string
autoTuneStagingDrive
boolean
Default: false
workingDirectory
string
object (TimeMachineInfo)

Time Machine Info

Array of objects (Tags)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/databases/register \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "autoTuneStagingDrive": false,
    "clustered": false,
    "databaseName": "string",
    "databaseType": "oracle_database",
    "description": "string",
    "forcedInstall": false,
    "nxClusterId": "string",
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ],
    "timeMachineInfo": {
        "autoTuneLogDrive": false,
        "description": "string",
        "name": "InstanceName_TM",
        "schedule": {
            "continuousSchedule": {
                "enabled": false,
                "logBackupInterval": 0,
                "logBackupRepeatIntervalInMinutes": 0,
                "snapshotRepeatIntervalInMinutes": 0,
                "snapshotsPerDay": 0
            },
            "monthlySchedule": {
                "dayOfMonth": 0,
                "enabled": false
            },
            "quartelySchedule": {
                "dayOfMonth": 0,
                "enabled": false,
                "startMonth": "string",
                "startMonthValue": "JANUARY"
            },
            "snapshotTimeOfDay": {
                "hours": 0,
                "minutes": 0,
                "seconds": 0
            },
            "weeklySchedule": {
                "dayOfWeek": "string",
                "dayOfWeekValue": "SUNDAY",
                "enabled": false
            },
            "yearlySchedule": {
                "dayOfMonth": 0,
                "enabled": false,
                "month": "string",
                "monthValue": "JANUARY"
            }
        },
        "slaId": "4d9dcd6d-b6f8-47f0-8015-9e691c1d3cf4",
        "tags": [
            {
                "tagId": "string",
                "value": "string"
            }
        ]
    },
    "vmDescription": "string",
    "vmIp": "string",
    "vmPassword": "string",
    "vmSshkey": "string",
    "vmUsername": "string",
    "workingDirectory": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Restore Database

Authorizations:
era_tokenera_auth
path Parameters
database_id
required
string
Request Body schema: application/json
snapshotId
string
latestSnapshot
boolean
Default: false
userPitrTimestamp
string
timeZone
string
Array of objects (ActionArguments)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/databases/{database_id}/restore \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "latestSnapshot": false,
    "snapshotId": "string",
    "timeZone": "string",
    "userPitrTimestamp": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update a database

Update a database's name, description or tags

Authorizations:
era_tokenera_auth
path Parameters
database_id
required
string
query Parameters
set-lcm-config
boolean
Default: false
unset-lcm-config
boolean
Default: false
Request Body schema: application/json
required

Input required to update a database

name
string
description
string
Array of objects (Tags)
resetName
boolean
Default: true
resetDescription
boolean
Default: true
resetTags
boolean
Default: true

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/databases/{database_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "name": "string",
    "resetDescription": true,
    "resetName": true,
    "resetTags": true,
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "properties": [
    ],
  • "tags": [
    ],
  • "clustered": false,
  • "clone": false,
  • "eraCreated": false,
  • "placeholder": false,
  • "databaseName": "string",
  • "type": "string",
  • "databaseClusterType": "string",
  • "status": "string",
  • "databaseStatus": "string",
  • "dbserverLogicalClusterId": "string",
  • "timeMachineId": "string",
  • "parentTimeMachineId": "string",
  • "timeZone": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "lcmConfig": {
    },
  • "databaseNodes": [
    ]
}

NDB Resources

Add a vLAN to NDB

Add a vLAN to NDB. A vLAN can either be specified as a DHCP or a Static vLAN. If DHCP is provided then it doesn't need any properties or IP address pools. if Static is provided then provide at least one IP address pool and the following properties:

  1. VLAN_GATEWAY
  2. VLAN_SUBNET_MASK
  3. VLAN_PRIMARY_DNS
  4. VLAN_SECONDARY_DNS [optional]
  5. VLAN_DNS_DOMAIN [optional]
Authorizations:
era_tokenera_auth
Request Body schema: application/json
name
string
type
string
Array of objects (Properties)
Array of objects (IpPools)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/resources/networks \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "ipPools": [
        {
            "endIP": "string",
            "startIP": "string"
        }
    ],
    "name": "string",
    "properties": [
        {
            "name": "string",
            "value": "string"
        }
    ],
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "clusterId": "string",
  • "managed": false,
  • "ipPools": [
    ],
  • "ipAddresses": [
    ],
  • "properties": [
    ],
  • "propertiesMap": {
    }
}

Add IP address pools to a vLAN

Add IP address pools to a vLAN. This is applicable only to Static vLANs.

Authorizations:
era_tokenera_auth
path Parameters
vlan_id
required
string
Request Body schema: application/json
Array of objects (IpPools)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/resources/networks/{vlan_id}/ip-pool \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "ipPools": [
        {
            "endIP": "string",
            "startIP": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "clusterId": "string",
  • "managed": false,
  • "ipPools": [
    ],
  • "ipAddresses": [
    ],
  • "properties": [
    ],
  • "propertiesMap": {
    }
}

Delete a vLAN used by NDB

Authorizations:
era_tokenera_auth
path Parameters
vlan_id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/resources/networks/{vlan_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
     

Get Vlans

Authorizations:
era_tokenera_auth
query Parameters
id
string
name
string
detailed
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/resources/networks \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "clusterId": "string",
  • "managed": false,
  • "ipPools": [
    ],
  • "ipAddresses": [
    ],
  • "properties": [
    ],
  • "propertiesMap": {
    }
}

Remove IP address pools from a vLAN

Remove IP address pools from a vLAN. This is applicable only to Static vLANs.

Authorizations:
era_tokenera_auth
path Parameters
vlan_id
required
string
Request Body schema: application/json
Array of objects (RemoveIpPools)

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/resources/networks/{vlan_id}/ip-pool \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
     

Update a vLAN used by NDB

Update a vLAN used by NDB. A vLAN can either be specified as a DHCP or a Static vLAN. If DHCP is provided then it doesn't need any properties or IP address pools. if Static is provided then provide at least one IP address pool and the following properties:

  1. VLAN_GATEWAY
  2. VLAN_SUBNET_MASK
  3. VLAN_PRIMARY_DNS
  4. VLAN_SECONDARY_DNS [optional]
  5. VLAN_DNS_DOMAIN [optional]
Authorizations:
era_tokenera_auth
path Parameters
vlan_id
required
string
Request Body schema: application/json
name
string
type
string
Array of objects (Properties)
Array of objects (IpPools)

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/resources/networks/{vlan_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "ipPools": [
        {
            "endIP": "string",
            "startIP": "string"
        }
    ],
    "name": "string",
    "properties": [
        {
            "name": "string",
            "value": "string"
        }
    ],
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "string",
  • "clusterId": "string",
  • "managed": false,
  • "ipPools": [
    ],
  • "ipAddresses": [
    ],
  • "properties": [
    ],
  • "propertiesMap": {
    }
}

Validate gateway IP

Authorizations:
era_tokenera_auth
query Parameters
gateway-ip
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/resources/networks/validate-gateway \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Operations

Get list of all Operations

Authorizations:
era_tokenera_auth
query Parameters
days
string
sysOps
string
Default: "false"
scheduledOps
string
Default: "false"
internalOps
string
Default: "false"
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/operations \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get NDB Operations short information

Authorizations:
era_tokenera_auth
query Parameters
dbserver-id
string
era-server
boolean
Default: false
ip
string
client-id
string
status
string
type
string
hide-subops
boolean
Default: false
system-triggered
boolean
Default: false
user-triggered
boolean
Default: true
scheduled
boolean
Default: false
date-submitted
string
from-time
string
to-time
string
days
string
Default: "0"
entity-id
string
entity-name
string
entity-type
string
time-zone
string
Default: "UTC"
descending
boolean
Default: true
operation-id
string
timestamp
string
limit
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/operations/short-info \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "summary": {
    },
  • "operations": [
    ]
}

Get Operation Definition by ID

Authorizations:
era_tokenera_auth
path Parameters
operation_id
required
string
query Parameters
display
string
Default: "false"
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/operations/{operation_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "entityName": "string",
  • "work": {
    },
  • "stepGenEnabled": false,
  • "setStartTime": false,
  • "timeZone": "string",
  • "id": "string",
  • "name": "string",
  • "uniqueName": "string",
  • "type": "string",
  • "startTime": "string",
  • "timeout": 0,
  • "endTime": "string",
  • "instanceId": "string",
  • "ownerId": "string",
  • "status": "string",
  • "percentageComplete": "string",
  • "steps": [
    ],
  • "properties": [
    ],
  • "parentId": "string",
  • "parentStep": 0,
  • "message": "string",
  • "systemTask": "string",
  • "metadata": {
    },
  • "entityId": "string",
  • "entityType": "string",
  • "systemTriggered": false,
  • "userVisible": false,
  • "dbserverId": "string",
  • "dateSubmitted": "string",
  • "deferredBy": [
    ],
  • "scheduleTime": "string",
  • "isInternal": false,
  • "childOperations": [
    ],
  • "completed": false,
  • "userRequestedAction": "string",
  • "userRequestedActionTime": "string"
}

Profiles

Create a Profile

This API will create a profile

Authorizations:
era_tokenera_auth
header Parameters
authorization
string
Default:
Request Body schema: application/json
engineType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
type
string
dbVersion
string
systemProfile
boolean
Default: false
published
boolean
Default: false
deprecated
boolean
Default: false
Array of objects (Properties)
name
string
description
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/profiles \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --header 'authorization: ' \
    --data '{
    "dbVersion": "string",
    "deprecated": false,
    "description": "string",
    "engineType": "oracle_database",
    "name": "string",
    "properties": [
        {
            "name": "string",
            "value": "string"
        }
    ],
    "published": false,
    "systemProfile": false,
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Create Profile Version

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
header Parameters
client_tz
string
Default:
authorization
string
Default:
Request Body schema: application/json
engineType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
type
string
dbVersion
string
systemProfile
boolean
Default: false
published
boolean
Default: false
deprecated
boolean
Default: false
Array of objects (Properties)
name
string
description
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id}/versions \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --header 'authorization: ' \
    --header 'client_tz: ' \
    --data '{
    "dbVersion": "string",
    "deprecated": false,
    "description": "string",
    "engineType": "oracle_database",
    "name": "string",
    "properties": [
        {
            "name": "string",
            "value": "string"
        }
    ],
    "published": false,
    "systemProfile": false,
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Delete given Profile

This API will delete a profile

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
header Parameters
authorization
string
Default:

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'authorization: ' \
     

Delete Profile Version

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
version-id
required
string
header Parameters
authorization
string
Default:

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id}/versions/{version-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'authorization: ' \
     

Get all Profiles

This API will list profiles

Authorizations:
era_tokenera_auth
query Parameters
engine
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"

Filter profiles by database engine.

type
string
Enum: "Software" "Compute" "Network" "Database_Parameter"

Filter profiles by type.

id
string

Filter profiles by id

name
string

Filter profile by name, this should be always used along with profile type

header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/profiles \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get inputs for creating a profile

This API will provide input json

Authorizations:
era_tokenera_auth
query Parameters
type
string
Enum: "Software" "Compute" "Network" "Database_Parameter"
engine
string

oracle_database, postgres_database, sqlserver_database, mariadb_database, mysql_database, saphana_database, mongodb_database

topology
string
Default: "ALL"

single, cluster

db-version
string
Default: "ALL"
id
string
name
string

Profile Name, this should be always used along with profile type

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/profiles/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "engineType": "string",
  • "type": "string",
  • "nxClusterId": "string",
  • "topology": "string",
  • "dbVersion": "string",
  • "systemProfile": false,
  • "custom1": "string",
  • "custom2": "string",
  • "custom3": "string",
  • "custom4": "string",
  • "custom5": "string",
  • "assocDbServers": [
    ],
  • "assocDatabases": [
    ],
  • "version": "string",
  • "profileId": "string",
  • "published": false,
  • "deprecated": false,
  • "properties": [
    ],
  • "propertiesMap": {
    },
  • "json": { }
}

Get Latest Profile Version

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
header Parameters
client_tz
string
Default:
authorization
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id}/versions/latest \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'authorization: ' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "engineType": "string",
  • "type": "string",
  • "nxClusterId": "string",
  • "topology": "string",
  • "dbVersion": "string",
  • "systemProfile": false,
  • "custom1": "string",
  • "custom2": "string",
  • "custom3": "string",
  • "custom4": "string",
  • "custom5": "string",
  • "assocDbServers": [
    ],
  • "assocDatabases": [
    ],
  • "version": "string",
  • "profileId": "string",
  • "published": false,
  • "deprecated": false,
  • "properties": [
    ],
  • "propertiesMap": {
    },
  • "json": { }
}

Get Profile Version

This API will get a profile version

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string

ID of the profile that you want to operate on. It can be obtained from the /profiles API

version-id
required
string

ID of the profile version that you want to operate on. It can be obtained from the /profiles?id= API

header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id}/versions/{version-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "engineType": "string",
  • "type": "string",
  • "nxClusterId": "string",
  • "topology": "string",
  • "dbVersion": "string",
  • "systemProfile": false,
  • "custom1": "string",
  • "custom2": "string",
  • "custom3": "string",
  • "custom4": "string",
  • "custom5": "string",
  • "assocDbServers": [
    ],
  • "assocDatabases": [
    ],
  • "version": "string",
  • "profileId": "string",
  • "published": false,
  • "deprecated": false,
  • "properties": [
    ],
  • "propertiesMap": {
    },
  • "json": { }
}

Update Profile

This API will edit a profile

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
header Parameters
authorization
string
Default:
Request Body schema: application/json
name
string
description
string
type
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --header 'authorization: ' \
    --data '{
    "description": "string",
    "name": "string",
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "engineType": "string",
  • "type": "string",
  • "nxClusterId": "string",
  • "topology": "string",
  • "dbVersion": "string",
  • "systemProfile": false,
  • "custom1": "string",
  • "custom2": "string",
  • "custom3": "string",
  • "custom4": "string",
  • "custom5": "string",
  • "assocDbServers": [
    ],
  • "assocDatabases": [
    ],
  • "latestVersion": "string",
  • "latestVersionId": "string",
  • "versions": [
    ]
}

Update Profile Version

Authorizations:
era_tokenera_auth
path Parameters
profile_id
required
string
version-id
required
string
header Parameters
authorization
string
Default:
Request Body schema: application/json
engineType
string
Enum: "oracle_database" "postgres_database" "sqlserver_database" "mariadb_database" "mysql_database" "saphana_database" "mongodb_database"
type
string
dbVersion
string
systemProfile
boolean
Default: false
published
boolean
Default: false
deprecated
boolean
Default: false
Array of objects (Properties)
name
string
description
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/profiles/{profile_id}/versions/{version-id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --header 'authorization: ' \
    --data '{
    "dbVersion": "string",
    "deprecated": false,
    "description": "string",
    "engineType": "oracle_database",
    "name": "string",
    "properties": [
        {
            "name": "string",
            "value": "string"
        }
    ],
    "published": false,
    "systemProfile": false,
    "type": "string"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "engineType": "string",
  • "type": "string",
  • "nxClusterId": "string",
  • "topology": "string",
  • "dbVersion": "string",
  • "systemProfile": false,
  • "custom1": "string",
  • "custom2": "string",
  • "custom3": "string",
  • "custom4": "string",
  • "custom5": "string",
  • "assocDbServers": [
    ],
  • "assocDatabases": [
    ],
  • "version": "string",
  • "profileId": "string",
  • "published": false,
  • "deprecated": false,
  • "properties": [
    ],
  • "propertiesMap": {
    },
  • "json": { }
}

SLAs

Create SLA from NDB Service

Authorizations:
era_tokenera_auth
Request Body schema: application/json
required

Input required to create a SLA

id
string
name
string
uniqueName
string
description
string
ownerId
string
systemSla
boolean
Default: false
dateCreated
string
dateModified
string
continuousRetention
integer <int32>
dailyRetention
integer <int32>
weeklyRetention
integer <int32>
monthlyRetention
integer <int32>
quarterlyRetention
integer <int32>
yearlyRetention
integer <int32>
referenceCount
integer <int32>

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/slas \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "continuousRetention": 0,
    "dailyRetention": 0,
    "dateCreated": "string",
    "dateModified": "string",
    "description": "string",
    "id": "string",
    "monthlyRetention": 0,
    "name": "string",
    "ownerId": "string",
    "quarterlyRetention": 0,
    "referenceCount": 0,
    "systemSla": false,
    "uniqueName": "string",
    "weeklyRetention": 0,
    "yearlyRetention": 0
}'

Response samples

Content type
application/json
{
  • "name": "SLAName",
  • "description": "SLADescription",
  • "continuousRetention": 25,
  • "dailyRetention": 7,
  • "weeklyRetention": 2,
  • "monthlyRetention": 5,
  • "quarterlyRetention": 1
}

Delete SLA Template

Authorizations:
era_tokenera_auth
path Parameters
sla_id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/slas/{sla_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Get all SLAs

Authorizations:
era_tokenera_auth

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/slas \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get SLA by ID

Authorizations:
era_tokenera_auth
path Parameters
sla_id
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/slas/{sla_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "SLAName",
  • "description": "SLADescription",
  • "continuousRetention": 25,
  • "dailyRetention": 7,
  • "weeklyRetention": 2,
  • "monthlyRetention": 5,
  • "quarterlyRetention": 1
}

Get SLA by Name

Authorizations:
era_tokenera_auth
path Parameters
sla_name
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/slas/name/{sla_name} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "SLAName",
  • "description": "SLADescription",
  • "continuousRetention": 25,
  • "dailyRetention": 7,
  • "weeklyRetention": 2,
  • "monthlyRetention": 5,
  • "quarterlyRetention": 1
}

Update given SLA

Authorizations:
era_tokenera_auth
path Parameters
sla_id
required
string
Request Body schema: application/json
required

Input required to update given SLA

id
string
name
string
uniqueName
string
description
string
ownerId
string
systemSla
boolean
Default: false
dateCreated
string
dateModified
string
continuousRetention
integer <int32>
dailyRetention
integer <int32>
weeklyRetention
integer <int32>
monthlyRetention
integer <int32>
quarterlyRetention
integer <int32>
yearlyRetention
integer <int32>
referenceCount
integer <int32>

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/slas/{sla_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "continuousRetention": 0,
    "dailyRetention": 0,
    "dateCreated": "string",
    "dateModified": "string",
    "description": "string",
    "id": "string",
    "monthlyRetention": 0,
    "name": "string",
    "ownerId": "string",
    "quarterlyRetention": 0,
    "referenceCount": 0,
    "systemSla": false,
    "uniqueName": "string",
    "weeklyRetention": 0,
    "yearlyRetention": 0
}'

Response samples

Content type
application/json
{
  • "name": "SLAName",
  • "description": "SLADescription",
  • "continuousRetention": 25,
  • "dailyRetention": 7,
  • "weeklyRetention": 2,
  • "monthlyRetention": 5,
  • "quarterlyRetention": 1
}

Snapshots

Get Files protected in Snapshot

Returns the list of all data files protected in a given Snapshot

Authorizations:
era_tokenera_auth
path Parameters
snapshot_id
required
string

It holds corresponding value for value type

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/snapshots/{snapshot_id}/files \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get list of all Snapshots

Returns the list of all snapshots

Authorizations:
era_tokenera_auth
query Parameters
value-type
string

"type", "status", "protection-domain-id", "database-node", "snapshot-id", "time-machine", "latest"

value
string

It holds corresponding value for value type

database-ids
string

Comma separated list of database-ids for which snapshots are to be fetched

all
boolean
Default: false
time-zone
string
Default: "UTC"
limit
integer [ 1 .. 100 ]
Default: 100

The numbers of snapshots to return

offset
integer
Default: 0

The number of snapshots to skip before starting to collect the result set

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/snapshots \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get Snapshot by value-type

Authorizations:
era_tokenera_auth
path Parameters
snapshot_id
required
string

It holds corresponding value for value type

query Parameters
load-replicated-child-snapshots
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/snapshots/{snapshot_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "queryCount": 0,
  • "properties": [
    ],
  • "tags": [
    ],
  • "snapshotId": "string",
  • "snapshotUuid": "string",
  • "protectionDomainId": "string",
  • "timeMachineId": "string",
  • "databaseNodeId": "string",
  • "appInfoVersion": "string",
  • "status": "string",
  • "type": "string",
  • "applicableTypes": [
    ],
  • "snapshotTimeStamp": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "timeZone": "string",
  • "snapshotSize": "string",
  • "processed": false,
  • "databaseSnapshot": false,
  • "fromTimeStamp": "string",
  • "toTimeStamp": "string",
  • "dbserverId": "string",
  • "dbserverName": "string",
  • "dbserverIp": "string",
  • "lcmConfig": {
    },
  • "typeFrequency": "NONE",
  • "applicableTypeFrequencies": [
    ]
}

Tags

Create a tag

Authorizations:
era_tokenera_auth
Request Body schema: application/json
required

Input required to create a tag

name
required
string
description
string
required
boolean
Default: false
entityType
required
string
Enum: "DATABASE" "TIME_MACHINE" "CLONE" "DATABASE_SERVER"
status
string
Enum: "ENABLED" "DEPRECATED"

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/tags \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "entityType": "DATABASE",
    "name": "string",
    "required": false,
    "status": "ENABLED"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "required": false,
  • "status": "ENABLED",
  • "entityType": "DATABASE",
  • "values": 0
}

Delete a tag

Authorizations:
era_tokenera_auth
path Parameters
id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/tags/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Get list of all Tags

Authorizations:
era_tokenera_auth
query Parameters
entityType
string
Enum: "DATABASE" "TIME_MACHINE" "CLONE" "DATABASE_SERVER"
id
string
name
string
header Parameters
client_tz
string
Default:

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tags \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'client_tz: ' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Update a tag

Authorizations:
era_tokenera_auth
path Parameters
id
required
string
Request Body schema: application/json
required

Input required to update a tag

name
required
string
description
string
required
boolean
Default: false
status
string
Enum: "ENABLED" "DEPRECATED"
owner
required
string

Responses

Request samples

curl --request PUT \
    --url https://www.nutanix.dev/era/v0.9/tags/{id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "name": "string",
    "owner": "string",
    "required": false,
    "status": "ENABLED"
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "owner": "string",
  • "required": false,
  • "status": "ENABLED",
  • "entityType": "DATABASE",
  • "values": 0
}

Time Machines

Create Clone using given Time Machine

Create a clone from a time machine using NDB. Before calling this API, make sure to gather necessary information by doing the below mentioned things:

1. Get the time machine ID by calling '/tms'.
2. Get the required input property list by calling '/tms/{tm_id}/clones/input-file'.
3. Get the snapshot ID or valid PITR timestamp by calling '/tms/{tm_id}/capability'.
Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json
required

Input required to create clone using time machine

name
string
description
string
createDbserver
boolean
Default: false
clustered
boolean
Default: false
nxClusterId
string
sshPublicKey
string
dbserverId
string
dbserverClusterId
string
dbserverLogicalClusterId
string
timeMachineId
string
snapshotId
string
userPitrTimestamp
string
newDbServerTimeZone
string
timeZone
string
latestSnapshot
boolean
Default: false
nodeCount
integer <int32>
Array of objects (Node)
Array of objects (Tags)
object (LcmConfigForClone)
Array of objects (ActionArguments)
computeProfileId
string
networkProfileId
string
databaseParameterProfileId
string

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/clones \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "clustered": false,
    "computeProfileId": "string",
    "createDbserver": false,
    "databaseParameterProfileId": "string",
    "dbserverClusterId": "string",
    "dbserverId": "string",
    "dbserverLogicalClusterId": "string",
    "description": "string",
    "latestSnapshot": false,
    "lcmConfig": {
        "databaseLCMConfig": {
            "expiryDetails": {
                "expireInDays": 0,
                "expiryDateTimezone": "string"
            },
            "refreshDetails": {
                "refreshDateTimezone": "string",
                "refreshInDays": 0,
                "refreshTime": "string"
            }
        }
    },
    "name": "string",
    "networkProfileId": "string",
    "newDbServerTimeZone": "string",
    "nodeCount": 0,
    "nodes": [
        {
            "computeProfileId": "string",
            "networkProfileId": "string",
            "newDbServerTimeZone": {},
            "nxClusterId": "string",
            "properties": [
                {}
            ],
            "vmName": "string"
        }
    ],
    "nxClusterId": "string",
    "snapshotId": "string",
    "sshPublicKey": "string",
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ],
    "timeMachineId": "string",
    "timeZone": "string",
    "userPitrTimestamp": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Delete Snapshot

Authorizations:
era_tokenera_auth
path Parameters
snapshot_id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/snapshots/{snapshot_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Delete Time Machine by ID

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string

Responses

Request samples

curl --request DELETE \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "status": "string",
  • "message": "string",
  • "info": { },
  • "errorCode": 0
}

Get capability of given Time Machine

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
query Parameters
time-zone
string
Default: "UTC"
type
string
Default: "detailed"
load-db-logs
string
Default: "true"
load-snapshots
string
Default: "true"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/capability \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "timeMachineId": "string",
  • "outputTimeZone": "string",
  • "type": "string",
  • "overallContinuousRangeEndTime": "string",
  • "lastContinuousSnapshotTime": "string",
  • "logCatchupStartTime": "string",
  • "capability": [
    ],
  • "capabilityResetTime": "string",
  • "lastDbLog": {
    },
  • "healWithResetCapability": false,
  • "lastContinuousSnapshot": {
    }
}

Get Clones for given Time Machine

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/clones \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get Input File for Clone Operation

Get the list of inputs required to clone a database from a time machine. This will return the complete metadata for each input property such as display name, description, etc. Only the 'name' and 'value' should be given to the 'actionArguments' part of the input JSON for cloning a database. Example:

{
  ...
  ...
  'actionArguments': [
    {
      'name': 'db_prop_1',
      'value': 'val1'
    },
    {
      'name': 'db_prop_2',
      'value': 'val2'
    },
    ...
    ...
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
query Parameters
category
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/clones/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

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

Get Input File for Clone Operation By Time Machine Name

Get the list of inputs required to clone a database from a time machine. This will return the complete metadata for each input property such as display name, description, etc. Only the 'name' and 'value' should be given to the 'actionArguments' part of the input JSON for cloning a database. Example:

{
  ...
  ...
  'actionArguments': [
    {
      'name': 'db_prop_1',
      'value': 'val1'
    },
    {
      'name': 'db_prop_2',
      'value': 'val2'
    },
    ...
    ...
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
timemachine_name
required
string
query Parameters
category
string

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/name/{timemachine_name}/clones/input-file \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

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

Get list of all Time Machines

Returns the list of all time machines

Authorizations:
era_tokenera_auth
query Parameters
value-type
string

"id", "name"

value
string

It holds corresponding value for value type

load-database
boolean
Default: false
load-clones
boolean
Default: false
clone-tms
boolean
Default: false
database-tms
boolean
Default: true
detailed
boolean
Default: false

Load entities with entire details

time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get list of Candidate Hosts/DBServers for given Time Machine

Get the list of database servers into which clones from the given time machine can be created.

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
query Parameters
usable
boolean
Default: false

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/candidate-dbservers \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
[
  • {
    }
]

Get Snapshots

Get snapshots of the source database

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string

It holds corresponding value for value type

query Parameters
from-time
string
to-time
string
dbserver-id
string
nx-cluster-id
string
nx-cluster-ids
string
protection-domain-id
string
type
string
database-ids
string
list-output
boolean
Default: false
time-zone
string
Default: "UTC"
any-status
boolean
Default: false
load-replicated-snapshots
boolean
Default: true
load-replicated-child-snapshots
boolean
Default: false
load-sanitised-snapshots
boolean
Default: false
load-sanitised-child-snapshots
boolean
Default: false
load-only-sanitised-snapshots
boolean
Default: false
load-restore-snapshot
boolean
Default: false
load-replication-only-snapshots
boolean
Default: false
tag-name
string
tag-value
string
all
boolean
Default: false

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/snapshots \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
Example
{
  • "timeMachineId": "string",
  • "timeMachineName": "string",
  • "databaseId": "string",
  • "clone": true,
  • "timeZone": "string",
  • "snapshotsPerNxCluster": {
    }
}

Get Time Machine by value-type

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string

It holds corresponding value for value type

query Parameters
value-type
string
Default: "id"
Enum: "id" "name"
detailed
boolean
Default: false

Load entities with entire details

load-database
boolean
Default: false
load-clones
boolean
Default: false
time-zone
string
Default: "UTC"

Responses

Request samples

curl --request GET \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
     

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "clustered": false,
  • "clone": false,
  • "databaseId": "string",
  • "logDriveId": "string",
  • "type": "string",
  • "status": "string",
  • "eaStatus": "string",
  • "scope": "string",
  • "slaId": "string",
  • "scheduleId": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "logDrive": {
    },
  • "sla": {
    },
  • "schedule": {
    },
  • "database": {
    },
  • "clones": [
    ],
  • "zeroSla": false,
  • "slaSet": false,
  • "continuousRecoveryEnabled": false,
  • "snapshotableState": false
}

Pause the given Time Machine

Pause a time machine. When a time machine is paused, the SLA snapshots will not be captured.

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json

Optional Arguments

forced
boolean
Default: false
reason
string
ownerId
string

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/pause \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --data '{
    "forced": false,
    "ownerId": "string",
    "reason": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Resume given Time Machine

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json

Optional Arguments

resetCapability
boolean
Default: false
skipSnapshot
boolean
Default: false
skipLogCatchup
boolean
Default: false
reason
string
ownerId
string
snapshotName
string

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/resume \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --data '{
    "ownerId": "string",
    "reason": "string",
    "resetCapability": false,
    "skipLogCatchup": false,
    "skipSnapshot": false,
    "snapshotName": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Start Log Catchup for given time machine

Perform log catchup of the source database. Use the below JSON:

{
  'actionHeader': [
    {
      'name': 'switch_log',
      'value': 'true'
    }
  ]
}
Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json
required

Input required to perform log catchup

forRestore
boolean
Default: false
Array of objects (ActionArguments)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/log-catchups \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "actionArguments": [
        {
            "name": "string",
            "value": null
        }
    ],
    "forRestore": false
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Take Snapshot

Take a snapshot of the source database

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json

Input required to take snapshot

name
string
object (LcmConfig)

Responses

Request samples

curl --request POST \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id}/snapshots \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "lcmConfig": {
        "snapshotLCMConfig": {
            "expiryDetails": {
                "expireInDays": 0,
                "expiryDateTimezone": "string"
            }
        }
    },
    "name": "string"
}'

Response samples

Content type
application/json
{
  • "name": "string",
  • "workId": "string",
  • "operationId": "string",
  • "dbserverId": "string",
  • "message": "string",
  • "entityId": "string",
  • "entityName": "string",
  • "entityType": "string",
  • "status": "string",
  • "associatedOperations": [
    ]
}

Update given Time Machine

Update a time machine's name, description or tags

Authorizations:
era_tokenera_auth
path Parameters
timemachine_id
required
string
Request Body schema: application/json
required

Input required to update a time machine

name
string
description
string
id
string
slaId
string
object (Schedule)

Schedule Model

Array of objects (Tags)
scheduleId
string
resetName
boolean
Default: false
resetDescription
boolean
Default: false
resetSla
boolean
Default: false
resetSchedule
boolean
Default: false

Responses

Request samples

curl --request PATCH \
    --url https://www.nutanix.dev/era/v0.9/tms/{timemachine_id} \
    --header 'Accept: application/json' \
    --header 'Authorization: Basic <basic_auth_token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "description": "string",
    "id": "string",
    "name": "string",
    "resetDescription": false,
    "resetName": false,
    "resetSchedule": false,
    "resetSla": false,
    "schedule": {
        "continuousSchedule": {
            "enabled": false,
            "logBackupInterval": 0,
            "logBackupRepeatIntervalInMinutes": 0,
            "snapshotRepeatIntervalInMinutes": 0,
            "snapshotsPerDay": 0
        },
        "monthlySchedule": {
            "dayOfMonth": 0,
            "enabled": false
        },
        "quartelySchedule": {
            "dayOfMonth": 0,
            "enabled": false,
            "startMonth": "string",
            "startMonthValue": "JANUARY"
        },
        "snapshotTimeOfDay": {
            "hours": 0,
            "minutes": 0,
            "seconds": 0
        },
        "weeklySchedule": {
            "dayOfWeek": "string",
            "dayOfWeekValue": "SUNDAY",
            "enabled": false
        },
        "yearlySchedule": {
            "dayOfMonth": 0,
            "enabled": false,
            "month": "string",
            "monthValue": "JANUARY"
        }
    },
    "scheduleId": "string",
    "slaId": "string",
    "tags": [
        {
            "tagId": "string",
            "value": "string"
        }
    ]
}'

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "clustered": false,
  • "clone": false,
  • "databaseId": "string",
  • "logDriveId": "string",
  • "type": "string",
  • "status": "string",
  • "eaStatus": "string",
  • "scope": "string",
  • "slaId": "string",
  • "scheduleId": "string",
  • "ownerId": "string",
  • "dateCreated": "string",
  • "dateModified": "string",
  • "info": {
    },
  • "metadata": {
    },
  • "properties": [
    ],
  • "tags": [
    ],
  • "logDrive": {
    },
  • "sla": {
    },
  • "schedule": {
    },
  • "database": {
    },
  • "clones": [
    ],
  • "zeroSla": false,
  • "slaSet": false,
  • "continuousRecoveryEnabled": false,
  • "snapshotableState": false
}