VirtualizationPolicies

Fetch a list of all virtualization policies

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 a descending order.

Enum: "id" "-id" "name" "-name" "dct_managed" "-dct_managed" "create_user" "-create_user" "create_timestamp" "-create_timestamp" "engine_id" "-engine_id" "engine_name" "-engine_name" "policy_type" "-policy_type" "timezone_id" "-timezone_id" "default_policy" "-default_policy" "effective_type" "-effective_type" "data_duration" "-data_duration" "data_unit" "-data_unit" "log_duration" "-log_duration" "log_unit" "-log_unit" "num_of_daily" "-num_of_daily" "num_of_weekly" "-num_of_weekly" "day_of_week" "-day_of_week" "num_of_monthly" "-num_of_monthly" "day_of_month" "-day_of_month" "num_of_yearly" "-num_of_yearly" "day_of_year" "-day_of_year" "size" "-size" "provision_source" "-provision_source" "num_targets" "-num_targets"
Example: sort=id
Responses
200

OK

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

Search Virtualization Policies.

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 a descending order.

Enum: "id" "-id" "name" "-name" "dct_managed" "-dct_managed" "create_user" "-create_user" "create_timestamp" "-create_timestamp" "engine_id" "-engine_id" "engine_name" "-engine_name" "policy_type" "-policy_type" "timezone_id" "-timezone_id" "default_policy" "-default_policy" "effective_type" "-effective_type" "data_duration" "-data_duration" "data_unit" "-data_unit" "log_duration" "-log_duration" "log_unit" "-log_unit" "num_of_daily" "-num_of_daily" "num_of_weekly" "-num_of_weekly" "day_of_week" "-day_of_week" "num_of_monthly" "-num_of_monthly" "day_of_month" "-day_of_month" "num_of_yearly" "-num_of_yearly" "day_of_year" "-day_of_year" "size" "-size" "provision_source" "-provision_source" "num_targets" "-num_targets"
Example: sort=id
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 .. 2000 ] characters
Responses
200

OK

post/virtualization-policies/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": {
    }
}

Search Virtualization Policy Target Objects.

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 a descending order.

Enum: "policy_id" "-policy_id" "target_id" "-target_id" "engine_id" "-engine_id" "policy_type" "-policy_type" "target_type" "-target_type" "target_name" "-target_name"
Example: sort=id
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 .. 2000 ] characters
Responses
200

OK

post/virtualization-policies/targets/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": {
    }
}

Fetch a virtualization policy by Id.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Responses
200

Returns a single virtualization policy

404

Virtualization policy not found

get/virtualization-policies/{policyId}
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "dct_managed": true,
  • "namespace": "string",
  • "namespace_id": "string",
  • "namespace_name": "string",
  • "is_replica": true,
  • "engine_id": "string",
  • "engine_name": "string",
  • "policy_type": "REFRESH_POLICY",
  • "timezone_id": "string",
  • "default_policy": true,
  • "effective_type": "DIRECT_APPLIED",
  • "data_duration": 0,
  • "data_unit": "DAY",
  • "log_duration": 0,
  • "log_unit": "DAY",
  • "num_of_daily": 0,
  • "num_of_weekly": 0,
  • "day_of_week": "MONDAY",
  • "num_of_monthly": 0,
  • "day_of_month": 0,
  • "num_of_yearly": 0,
  • "day_of_year": "string",
  • "schedules": [
    ],
  • "provision_source": "LATEST_SNAPSHOT",
  • "size": 0,
  • "tags": [
    ],
  • "num_targets": 0
}

Convert a virtualization policy to a DCT-managed policy.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Responses
200

OK

post/virtualization-policies/{policyId}/convert
Response samples
application/json
{
  • "job": {
    },
  • "virtualization_policy": {
    }
}

Get tags for a VirtualizationPolicy.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Responses
200

Ok

get/virtualization-policies/{policyId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Create tags for a VirtualizationPolicy.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Request Body schema: application/json
required

Tags information for VirtualizationPolicies.

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

Array of tags with key value pairs

Responses
201

Created

post/virtualization-policies/{policyId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Delete tags for a VirtualizationPolicy.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

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/virtualization-policies/{policyId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }

Apply a virtualization policy to the given list of objects.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Request Body schema: application/json

The parameters to apply virtualization policy to a target.

Array
object_type
string (TargetPolicyObjectType)

A DCT specific target policy object type.

Enum: "CDB" "DSOURCE" "VCDB" "VDB" "DATASET_GROUP" "REPLICATION_PROFILE" "NAMESPACE"
object_id
string

The ID of the object, the policy to be applied to.

Responses
200

OK

post/virtualization-policies/{policyId}/apply
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "job": {
    }
}

Unapply a virtualization policy to the given list of objects.

SecurityApiKeyAuth
Request
path Parameters
policyId
required
string non-empty

The ID of the Virtualization Policy.

Request Body schema: application/json

The parameters to apply virtualization policy to a target.

Array
object_type
string (TargetPolicyObjectType)

A DCT specific target policy object type.

Enum: "CDB" "DSOURCE" "VCDB" "VDB" "DATASET_GROUP" "REPLICATION_PROFILE" "NAMESPACE"
object_id
string

The ID of the object, the policy to be applied to.

Responses
200

OK

post/virtualization-policies/{policyId}/unapply
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "job": {
    }
}