PaaSDatabases

List all PaaS Databases.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "plugin_id" "-plugin_id" "environment_id" "-environment_id" "status" "-status" "compliance_connector_id" "-compliance_connector_id" "database_engine" "-database_engine" "version" "-version"
Example: sort=name
Responses
200

OK

get/paas-databases
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Provision a new PaaS Database

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The parameters to provision a PaaS Database.

make_current_account_owner
boolean
Default: true

Whether the account creating this PaaS Database must be configured as owner of the PaaS Database.

source_database_id
string

ID of the PaaS Database to provision from.

source_snapshot_id
string

The ID of the PaaS Database snapshot to provision from. This is optional, and mutually exclusive with the source_database_id and timestamp.

target_environment_id
string

The ID of the PaaS Environment to provision the database into. If not set, the database will be provisioned into the same environment as the source database.

name
required
string

The provisioned PaaS Database name.

object or null

The parameters specified by the plugin schema for provisioning

timestamp
string <date-time>

The point in time from which to provision. Needs to be set along with source_database_id. If the timestamp is not set, selects the latest point.

Array of objects (Tag) [ 1 .. 1000 ] items

The tags to be created for PaaS Database.

Responses
200

OK

post/paas-databases
Request samples
application/json
{
  • "make_current_account_owner": true,
  • "source_database_id": "db-123",
  • "source_snapshot_id": "snapshot-123",
  • "target_environment_id": "environment-123",
  • "name": "my-db-123",
  • "provision_parameters": {
    },
  • "timestamp": "2021-05-01T08:51:34.148Z",
  • "tags": [
    ]
}
Response samples
application/json
{
  • "paas_database_id": "string",
  • "job": {
    }
}

Search for PaaS Databases.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "plugin_id" "-plugin_id" "environment_id" "-environment_id" "status" "-status" "compliance_connector_id" "-compliance_connector_id" "database_engine" "-database_engine" "version" "-version"
Example: sort=name
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 50000 ] characters
Responses
200

OK

post/paas-databases/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Delete a PaaS Database

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json
optional

The parameters to delete a PaaS Database.

object or null

The parameters specified by the plugin schema for PaaS Database delete

force_delete
boolean
Default: false

Whether to delete the database from DCT even if snapshots are present and the database deletion in the PaaS environment fails.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/delete
Request samples
application/json
{
  • "delete_parameters": {
    },
  • "force_delete": false
}
Response samples
application/json
{
  • "job": {
    }
}

Execute the compliance job for a PaaS Database

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/execute-compliance-job
Response samples
application/json
{
  • "job": {
    }
}

Create a new compliance connector for the PaaS Database.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json
engine_id
required
string [ 1 .. 256 ] characters
masking_environment_id
string [ 1 .. 256 ] characters
schema_name
required
string [ 1 .. 2048 ] characters
username
string

The username this Connector will use to connect to the database.

password
string

The password this Connector will use to connect to the database.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/create-compliance-connector
Request samples
application/json
{
  • "engine_id": "string",
  • "masking_environment_id": "string",
  • "schema_name": "string",
  • "username": "string",
  • "password": "string"
}
Response samples
application/json
{
  • "job": {
    }
}

Refresh a PaaS Database

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json
required

The parameters to refresh a PaaS Database.

source_database_id
string

The ID of the PaaS Database to refresh from.

source_snapshot_id
string

The ID of the PaaS Database snapshot to refresh from. This is optional, and mutually exclusive with the source_database_id and timestamp.

timestamp
string <date-time>

The point in time to refresh from. If the timestamp is not set, selects the latest point.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/refresh
Request samples
application/json
{
  • "source_database_id": "db-123",
  • "source_snapshot_id": "snapshot-123",
  • "timestamp": "2021-05-01T08:51:34.148Z"
}
Response samples
application/json
{
  • "job": {
    }
}

De-provision a PaaS Database, meaning that the database object will remain in DCT, along with its permissions, tags, snapshots, ... but the database will no longer be running. If the current database data must be preserved, take a snapshot before de-provisioning.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/de-provision
Response samples
application/json
{
  • "job": {
    }
}

Re-provision a PaaS Database which has previously been de-provisioned. The provision parameters specified at provisioning time will be respected, with the exception of the timestamp or snapshot id to re-provision from.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json
required

The parameters to re-provision a PaaS Database.

source_database_id
string

ID of the PaaS Database to re-provision from. If unset, falls back to the source database of the original provisioning.

source_snapshot_id
string

The ID of the PaaS Database snapshot to re-provision from. This is optional, and mutually exclusive with the source_database_id and timestamp.

timestamp
string <date-time>

The point in time from which to re-provision. If the timestamp is not set, selects the latest point.

Responses
202

Accepted

post/paas-databases/{paaSDatabaseId}/re-provision
Request samples
application/json
{
  • "source_database_id": "db-123",
  • "source_snapshot_id": "snapshot-123",
  • "timestamp": "2021-05-01T08:51:34.148Z"
}
Response samples
application/json
{
  • "job": {
    }
}

Get tags for a PaaS Database.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Responses
200

Ok

get/paas-databases/{paaSDatabaseId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Create tags for a PaaS Database.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json
required

Tags information for PaaS Database.

required
Array of objects (Tag) [ 1 .. 1000 ] items unique

Array of tags with key value pairs

Responses
201

Created

post/paas-databases/{paaSDatabaseId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Delete tags for a PaaS Database.

SecurityApiKeyAuth
Request
path Parameters
paaSDatabaseId
required
string non-empty

The ID of the PaaS Database.

Request Body schema: application/json

The parameters to delete tags

key
string [ 1 .. 4000 ] characters

Key of the tag

value
string [ 1 .. 4000 ] characters

Value of the tag

Array of objects (Tag) [ 1 .. 1000 ] items unique

List of tags to be deleted

Responses
204

No Content

post/paas-databases/{paaSDatabaseId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }