openapi: 3.0.0
info:
title: Delphix DCT Algorithms VirtualizationFaults API
version: 3.28.0
description: Delphix DCT API
contact:
name: Delphix Support
url: https://portal.perforce.com/s/
email: support@delphix.com
servers:
- url: /dct/v3
security:
- ApiKeyAuth: []
tags:
- name: VirtualizationFaults
paths:
/virtualization-faults/history:
get:
tags:
- VirtualizationFaults
summary: Fetch a list of all virtualization faults
operationId: get_virtualization_faults_history
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/cursor'
- $ref: '#/components/parameters/virtualizationFaultsSortParam'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: ListVirtualizationFaultsResponse
properties:
items:
type: array
items:
$ref: '#/components/schemas/VirtualizationFault'
response_metadata:
$ref: '#/components/schemas/PaginatedResponseMetadata'
text/csv:
schema:
type: string
example: 'id,engine_id,bundle_id,target_name,target_object_type,target_object_id,title,description,fault_action,response,severity,status,date_diagnosed,date_resolved,resolution_comments
3-FAULT-5,3,fault.oracle.logsync.snapshot.standby,Untitled/DBOMSR91F858-rhel-83-mv6m-qar-143787-27a4593a.dlpxdc.co,DSOURCE,3-ORACLE_DB_CONTAINER-1,LogSync detected database is running as a snapshot standby,LogSync has found that the linked source {0} has become a snapshot standby database. LogSync will not fetch archive logs generated by the snapshot standby and SnapSync will be disallowed until the database reverts to a physical standby. Once the database reverts to a physical standby LogSync will resume fetching archived logs.,Revert snapshot standby to a physical standby to resume LogSync. Consider provisioning a VDB from Delphix snapshots instead of using a snapshot standby.,Revert to physical standby as soon as possible to prevent LogSync from failing to sync new archive logs generated on the primary.,CRITICAL,RESOLVED,2024-08-08T02:42:06.589Z,2024-08-08T02:42:10.827Z,Fault no longer present.
'
/virtualization-faults/history/search:
post:
summary: Search virtualization faults
operationId: search_virtualization_faults_history
tags:
- VirtualizationFaults
x-filterable:
fields:
id:
type: string
engine_id:
type: string
bundle_id:
type: string
target_name:
type: string
target_object_type:
type: string
target_object_id:
type: string
title:
type: date-time
description:
type: string
fault_action:
type: string
response:
type: string
severity:
type: string
status:
type: string
date_diagnosed:
type: string
date_resolved:
type: string
resolution_comments:
type: string
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/cursor'
- $ref: '#/components/parameters/virtualizationFaultsSortParam'
requestBody:
$ref: '#/components/requestBodies/SearchBody'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: SearchVirtualizationFaultsResponse
properties:
items:
type: array
items:
$ref: '#/components/schemas/VirtualizationFault'
response_metadata:
$ref: '#/components/schemas/PaginatedResponseMetadata'
text/csv:
schema:
type: string
example: 'id,engine_id,bundle_id,target_name,target_object_type,target_object_id,title,description,fault_action,response,severity,status,date_diagnosed,date_resolved,resolution_comments
3-FAULT-5,3,fault.oracle.logsync.snapshot.standby,Untitled/DBOMSR91F858-rhel-83-mv6m-qar-143787-27a4593a.dlpxdc.co,DSOURCE,3-ORACLE_DB_CONTAINER-1,LogSync detected database is running as a snapshot standby,LogSync has found that the linked source {0} has become a snapshot standby database. LogSync will not fetch archive logs generated by the snapshot standby and SnapSync will be disallowed until the database reverts to a physical standby. Once the database reverts to a physical standby LogSync will resume fetching archived logs.,Revert snapshot standby to a physical standby to resume LogSync. Consider provisioning a VDB from Delphix snapshots instead of using a snapshot standby.,Revert to physical standby as soon as possible to prevent LogSync from failing to sync new archive logs generated on the primary.,CRITICAL,RESOLVED,2024-08-08T02:42:06.589Z,2024-08-08T02:42:10.827Z,Fault no longer present.
'
/virtualization-faults/resolveOrIgnore:
post:
summary: Marks selected faults as resolved or ignored.
operationId: resolve_or_ignore_virtualization_faults
tags:
- VirtualizationFaults
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualizationFaultResolveOrIgnoreParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: VirtualizationFaultResolveOrIgnoreJobResponse
properties:
job:
$ref: '#/components/schemas/Job'
/virtualization-faults/{engineId}/resolveAll:
parameters:
- $ref: '#/components/parameters/engineIdParam'
post:
summary: Marks all active faults of an engine that the user has permissions over as resolved.
operationId: resolve_all_virtualization_faults
tags:
- VirtualizationFaults
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: VirtualizationFaultResolveAllJobResponse
properties:
job:
$ref: '#/components/schemas/Job'
/virtualization-fault/{faultId}/resolve:
parameters:
- $ref: '#/components/parameters/virtualizationFaultIdParam'
post:
summary: Marks the fault as resolved. The Delphix engine will attempt to automatically detect cases where the fault has been resolved; but this is not always possible and may only occur on periodic intervals. In these cases, the user can proactively mark the fault resolved. This does not change the underlying disposition of the fault - if the problem is still present the system may immediately diagnose the same problem again. This should only be used to notify the system of resolution after the underlying problem has been resolved.
operationId: resolve_virtualization_fault
tags:
- VirtualizationFaults
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualizationFaultResolveParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
title: VirtualizationFaultResolveJobResponse
properties:
job:
$ref: '#/components/schemas/Job'
components:
schemas:
VirtualizationFaultResolveOrIgnoreParameters:
description: Marks selected faults as resolved or ignored.
type: object
properties:
engine_id:
description: The ID of the engine that the faults belong to.
type: string
ignore:
description: Flag indicating whether to ignore the selected faults if they are detected on the same objects in the future.
type: boolean
default: false
fault_ids:
description: The IDs of the faults to resolve or ignore.
type: array
items:
type: string
JobTaskEvent:
properties:
message_details:
type: string
Tag:
type: object
required:
- key
- value
properties:
key:
description: Key of the tag
type: string
minLength: 1
maxLength: 4000
example: key-1
value:
description: Value of the tag
type: string
minLength: 1
maxLength: 4000
example: value-1
VirtualizationTask:
deprecated: true
properties:
id:
type: string
parent_job_id:
type: string
start_time:
type: string
format: date-time
end_time:
type: string
format: date-time
title:
type: string
percent_complete:
type: integer
minimum: 0
maximum: 100
events:
type: array
items:
$ref: '#/components/schemas/VirtualizationTaskEvent'
status:
type: string
enum:
- PENDING
- STARTED
- TIMEDOUT
- RUNNING
- CANCELED
- FAILED
- SUSPENDED
- WAITING
- COMPLETED
- ABANDONED
VirtualizationFault:
description: A fault on a virtualization engine.
type: object
properties:
id:
description: ID of the virtualization engine fault.
type: string
engine_id:
description: ID of the RegisteredEngine.
type: string
bundle_id:
description: A unique dot delimited identifier associated with the fault.
type: string
target_name:
description: The name of the faulted object at the time the fault was diagnosed.
type: string
target_object_type:
description: The type of the object that is faulted.
type: string
target_object_id:
description: The ID of the object that is faulted.
type: string
title:
description: The summary of the fault.
type: string
description:
description: The full description of the fault.
type: string
fault_action:
description: The suggested action to be taken.
type: string
response:
description: The automated response taken by the Delphix engine.
type: string
severity:
description: The severity of the fault event.
type: string
enum:
- WARNING
- CRITICAL
status:
description: The status of the fault.
type: string
enum:
- ACTIVE
- IGNORED
- RESOLVED
date_diagnosed:
description: The date when the fault was diagnosed.
type: string
format: date-time
date_resolved:
description: The date when the fault was resolved.
type: string
format: date-time
resolution_comments:
description: A comment that describes the fault resolution.
type: string
JobTask:
properties:
id:
type: string
parent_job_id:
type: string
start_time:
type: string
format: date-time
end_time:
type: string
format: date-time
title:
type: string
percent_complete:
type: integer
minimum: 0
maximum: 100
events:
type: array
items:
$ref: '#/components/schemas/JobTaskEvent'
status:
type: string
enum:
- PENDING
- STARTED
- TIMEDOUT
- RUNNING
- CANCELED
- FAILED
- SUSPENDED
- WAITING
- COMPLETED
- ABANDONED
VirtualizationTaskEvent:
deprecated: true
properties:
message_details:
type: string
Engine:
properties:
engine_id:
type: string
minLength: 1
maxLength: 4000
engine_name:
type: string
minLength: 1
maxLength: 4000
Job:
description: An asynchronous task.
type: object
properties:
id:
description: The Job entity ID.
type: string
example: job-123
status:
description: The status of the job.
type: string
enum:
- PENDING
- STARTED
- TIMEDOUT
- RUNNING
- CANCELED
- FAILED
- SUSPENDED
- WAITING
- COMPLETED
- ABANDONED
example: RUNNING
is_waiting_for_telemetry:
description: Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated.
type: boolean
type:
description: The type of job being done.
type: string
example: DB_REFRESH
localized_type:
description: The i18n translated type of job being done.
type: string
example: DB Refresh
error_details:
description: Details about the failure for FAILED jobs.
type: string
example: Unable to connect to the engine.
warning_message:
description: Warnings for the job.
type: string
example: 'Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7.'
target_id:
description: A reference to the job's target.
type: string
example: vdb-123
target_name:
description: A reference to the job's target name.
type: string
example: vdb
start_time:
description: The time the job started executing.
type: string
format: date-time
example: '2022-01-02T05:11:24.148000+00:00'
update_time:
description: The time the job was last updated.
type: string
format: date-time
example: '2022-01-02T06:11:24.148000+00:00'
trace_id:
description: traceId of the request which created this Job
type: string
engine_ids:
description: IDs of the engines this Job is executing on.
type: array
items:
type: string
deprecated: true
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
engines:
type: array
items:
$ref: '#/components/schemas/Engine'
account_id:
description: The ID of the account who initiated this job.
type: integer
example: 1
account_name:
description: The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-<id>.
type: string
example: User 1
compliance_node_id:
description: The ID of the associated compliance node, if applicable.
type: string
nullable: true
compliance_node_name:
description: The name of the associated compliance node, if applicable.
type: string
nullable: true
percent_complete:
description: Completion percentage of the Job.
type: integer
minimum: 0
maximum: 100
example: '50'
virtualization_tasks:
deprecated: true
type: array
items:
$ref: '#/components/schemas/VirtualizationTask'
tasks:
type: array
items:
$ref: '#/components/schemas/JobTask'
execution_id:
description: The ID of the associated masking execution, if any.
type: string
nullable: true
result_type:
description: The type of the job result. This is the type of the object present in the result.
type: string
result:
description: The result of the job execution. This is JSON serialized string of the result object whose type is specified by result_type property.
type: object
discriminator:
propertyName: class_type
VirtualizationFaultResolveParameters:
description: The parameters to use as input when marking a fault as resolved.
type: object
properties:
ignore:
description: Flag indicating whether to ignore this fault if it is detected on the same object in the future.
type: boolean
default: false
resolution_comments:
description: The comments describing the steps taken to resolve a fault.
type: string
PaginatedResponseMetadata:
type: object
properties:
prev_cursor:
description: Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.
type: string
next_cursor:
description: Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.
type: string
total:
description: The total number of results. This value may not be provided.
type: integer
format: int_64
SearchBody:
description: Search body.
type: object
properties:
filter_expression:
type: string
minLength: 5
maxLength: 50000
example: string_field CONTAINS "over" AND numberic_field GT 9000 OR string_field2 EQ "Goku"
parameters:
limit:
name: limit
in: query
description: Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.
example: 50
schema:
type: integer
minimum: 1
maximum: 1000
default: 100
virtualizationFaultIdParam:
in: path
name: faultId
required: true
schema:
type: string
minLength: 1
description: The ID of the Virtualization Fault.
virtualizationFaultsSortParam:
name: sort
in: query
description: The field to sort results by. A property name with a prepended '-' signifies descending order.
example: id
required: false
schema:
type: string
enum:
- id
- -id
- engine_id
- -engine_id
- bundle_id
- -bundle_id
- target_name
- -target_name
- target_object_type
- -target_object_type
- target_object_id
- -target_object_id
- title
- -title
- description
- -description
- fault_action
- -fault_action
- response
- -response
- severity
- -severity
- status
- -status
- date_diagnosed
- -date_diagnosed
- date_resolved
- -date_resolved
- resolution_comments
- -resolution_comments
nullable: true
example: engine_id
engineIdParam:
in: path
name: engineId
schema:
type: string
required: true
description: The ID of the registered engine.
cursor:
name: cursor
in: query
description: 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.
schema:
type: string
minLength: 1
maxLength: 4096
requestBodies:
SearchBody:
x-skip-codegen-attr: description
description: '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](https://datatracker.ietf.org/doc/html/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.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBody'
examples:
nested:
description: 'An example of a nested Object comparison testing that at least one repository has a
version which is equal to 19.0.0.
'
summary: Nested Object Comparison
value:
filter_expression: repositories CONTAINS {version eq '19.0.0'}
relative:
description: 'An example of a relative comparison testing that field1 has a
value which is less than 123.
'
summary: Relative comparison
value:
filter_expression: field1 LE 123
nil:
description: 'An example of using nil to test for the absence of a value for field2.
'
summary: Absence of an attribute value
value:
filter_expression: field2 EQ NIL
non-nil:
description: 'An example of using nil to test for the existence of a value for field2.
'
summary: Existence of an attribute value
value:
filter_expression: field2 NE NIL
contains:
description: 'An example of using the ''CONTAINS'' operator to check if
field2 contains the string ''foo''. If field2 is string valued
then this is checking if ''foo'' is a substring of field2. If
field2 is a list of strings then this is checking if ''foo''
is a member of the list.
'
summary: Use of the CONTAINS operator
value:
filter_expression: field2 CONTAINS 'foo'
in:
description: 'An example of using the ''IN'' operator to check if field1
is an element of a list literal.
'
summary: Use of the IN operator
value:
filter_expression: field1 IN [1, 2, 3]
search:
description: 'An example of using the ''SEARCH'' operator to retrieve all elements
for which ''foo'' is a substring of a filterable attribute.
'
summary: Use of the SEARCH operator
value:
filter_expression: SEARCH 'foo'
parenthesis:
description: 'An example of parenthesis being used to group operators & override
operator precedence.
'
summary: Overriding operator precedence
value:
filter_expression: field1 LT 1234 AND (field2 CONTAINS 'foo' OR field3 CONTAINS 'bar')
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization