Delphix HeldSpace API

The HeldSpace API from Delphix — 2 operation(s) for heldspace.

OpenAPI Specification

delphix-heldspace-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Delphix DCT Algorithms HeldSpace 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: HeldSpace
paths:
  /heldspace/{heldspaceId}/deletion-dependencies:
    parameters:
    - $ref: '#/components/parameters/heldspaceId'
    get:
      summary: Get heldspace deletion dependencies.
      operationId: get_heldspace_deletion_dependencies
      tags:
      - HeldSpace
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeldSpaceDeletionDependenciesResponse'
  /heldspace/{heldspaceId}/delete:
    parameters:
    - $ref: '#/components/parameters/heldspaceId'
    post:
      summary: Delete a HeldSpace.
      operationId: delete_heldspace_by_id
      tags:
      - HeldSpace
      responses:
        '200':
          description: HeldSpace delete initiated.
          content:
            application/json:
              schema:
                type: object
                title: DeleteHeldSpaceResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The initiated job.
components:
  schemas:
    HeldSpaceDeletionDependenciesResponse:
      description: The deletion dependencies of a held space.
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseDeletetionDependenciesResponse'
    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
    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
    DeletionDependencyPrerequisiteAction:
      description: Deletion dependency prerequisite action.
      type: object
      properties:
        object_id:
          description: ID of the object.
          type: string
        object_type:
          description: Type of the object.
          type: string
          enum:
          - SNAPSHOT
          - VDB
          - DSOURCE
          - DATALAYOUT_CONTAINER
          - DATALAYOUT_TEMPLATE
          - UNKNOWN
        object_name:
          description: Name of the object.
          type: string
        namespace_id:
          description: ID of the namespace that this object belongs to.
          type: string
        action:
          description: The action to perform.
          type: string
          enum:
          - REMOVE_KEEP_FOR
          - TAKE_SNAPSHOT
          - REFRESH
        linked_object_id:
          description: ID of the deletion dependency object which is linked to this prerequisite action.
          type: string
        linked_object_type:
          description: Type of the deletion dependency object which is linked to this prerequisite action.
          $ref: '#/components/schemas/DeletionDependencyObjectType'
        locked:
          description: Whether the prerequisite action is locked. If this is true then this action will be skipped.
          type: boolean
    VirtualizationTaskEvent:
      deprecated: true
      properties:
        message_details:
          type: string
    DeletionDependencyObject:
      description: Deletion dependency object.
      type: object
      properties:
        object_id:
          description: ID of the object.
          type: string
        object_type:
          description: Type of the object.
          $ref: '#/components/schemas/DeletionDependencyObjectType'
        object_name:
          description: Name of the object.
          type: string
        namespace_id:
          description: ID of the namespace that this object belongs to.
          type: string
        storage_size:
          description: Storage size of the object.
          type: integer
          format: int64
        timeflow_vdb_id:
          description: If the object is a Timeflow, then this is the ID of the VDB that is associated with the Timeflow.
          type: string
        timeflow_vdb_name:
          description: If the object is a Timeflow, then this is the name of the VDB that is associated with the Timeflow.
          type: string
        timeflow_dsource_id:
          description: If the object is a Timeflow, then this is the ID of the dSource that is associated with the Timeflow.
          type: string
        timeflow_dsource_name:
          description: If the object is a Timeflow, then this is the name of the dSource that is associated with the Timeflow.
          type: string
        locked:
          description: Whether the object is locked. If this is true then this object will not be deleted.
          type: boolean
        parent_object_id:
          description: ID of the parent object.
          type: string
        parent_object_type:
          description: Type of the parent object.
          $ref: '#/components/schemas/DeletionDependencyObjectType'
        timeflow_snapshot_count:
          description: Total number of snapshots in the Timeflow if the object is a Timeflow otherwise -1.
          type: integer
          format: int64
          default: -1
        timeflow_bookmarks_count:
          description: Total number of bookmarks associated with the Timeflow if the object is a Timeflow otherwise -1.
          type: integer
          default: -1
    BaseDeletetionDependenciesResponse:
      description: Base class for deletion dependencies response.
      type: object
      properties:
        prerequisite_actions:
          description: The pre-requisite actions to perform before deleting the snapshot.
          type: array
          items:
            $ref: '#/components/schemas/DeletionDependencyPrerequisiteAction'
        object_dependencies:
          description: The object dependencies of the snapshot.
          type: array
          items:
            $ref: '#/components/schemas/DeletionDependencyObject'
        dependency_tree:
          description: The dependency tree of the snapshot.
          $ref: '#/components/schemas/DeletionDependenciesTreeResponse'
      discriminator:
        propertyName: class_type
    DeletionDependenciesTreeResponse:
      description: The deletion dependencies of an object which occupies disk space.
      type: object
      properties:
        prerequisite_actions:
          description: The pre-requisite actions to perform before deleting the object.
          type: array
          items:
            $ref: '#/components/schemas/DeletionDependencyPrerequisiteAction'
        object_dependencies:
          description: The object dependencies of the object.
          type: array
          items:
            $ref: '#/components/schemas/DeletionDependencyObject'
    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
    DeletionDependencyObjectType:
      description: Deletion dependency object type.
      type: string
      enum:
      - TIMEFLOW
      - SNAPSHOT
      - JSBOOKMARK
      - JSBRANCH
      - TIMEFLOWBOOKMARK
      - HELDSPACE
      - VDB
      - DSOURCE
      - UNKNOWN
      - ALLSNAPSHOTS
      - BOOKMARK
  parameters:
    heldspaceId:
      name: heldspaceId
      in: path
      description: The heldspace id to filter by.
      required: true
      schema:
        minLength: 1
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization