Delphix ComplianceJobCollections API

The ComplianceJobCollections API from Delphix — 8 operation(s) for compliancejobcollections.

OpenAPI Specification

delphix-compliancejobcollections-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Delphix DCT Algorithms ComplianceJobCollections 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: ComplianceJobCollections
paths:
  /compliance-job-collections:
    post:
      tags:
      - ComplianceJobCollections
      summary: Create a compliance job collection.
      operationId: create_compliance_job_collection
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: compliance-job-collections
              $ref: '#/components/schemas/CreateComplianceJobCollectionRequest'
        description: The parameters to create a compliance job collection
        required: true
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: CreateComplianceJobCollectionResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
                  id:
                    type: string
                    description: The ID of the created job collection.
    get:
      tags:
      - ComplianceJobCollections
      summary: Retrieve the list of compliance job collections.
      operationId: get_compliance_job_collections
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/complianceJobCollectionsSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListComplianceJobCollectionsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceJobCollection'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /compliance-job-collections/search:
    post:
      tags:
      - ComplianceJobCollections
      summary: Search compliance job collections.
      operationId: search_compliance_job_collections
      x-filterable:
        fields:
          id:
            type: string
          name:
            type: string
          description:
            type: string
          creation_date:
            type: string
          job_count:
            type: integer
          last_execution_id:
            type: string
          failure_handling:
            type: string
          members:
            type: array[object]
            fields:
              compliance_job_id:
                type: string
              sequence:
                type: integer
          tags:
            type: array[object]
            fields:
              key:
                type: string
              value:
                type: string
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/complianceJobCollectionsSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchComplianceJobCollectionsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceJobCollection'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /compliance-job-collections/{complianceJobCollectionId}:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    get:
      tags:
      - ComplianceJobCollections
      summary: Retrieve a compliance job collection by ID.
      operationId: get_compliance_job_collection_by_id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceJobCollection'
    patch:
      tags:
      - ComplianceJobCollections
      summary: Update a compliance job collection.
      operationId: update_compliance_job_collection
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: compliance-job-collections
              $ref: '#/components/schemas/UpdateComplianceJobCollectionRequest'
        description: The parameters to update a compliance job collection
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: UpdateComplianceJobCollectionResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
    delete:
      tags:
      - ComplianceJobCollections
      summary: Delete a compliance job collection.
      operationId: delete_compliance_job_collection
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: DeleteComplianceJobCollectionResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
  /compliance-job-collections/{complianceJobCollectionId}/execute:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    post:
      tags:
      - ComplianceJobCollections
      summary: Execute a compliance job collection.
      operationId: execute_compliance_job_collection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteComplianceJobCollectionRequest'
      responses:
        '200':
          description: Compliance job collection execute initiated.
          content:
            application/json:
              schema:
                type: object
                title: ExecuteComplianceJobCollectionResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The initiated job.
  /compliance-job-collections/{complianceJobCollectionId}/jobs:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    get:
      tags:
      - ComplianceJobCollections
      summary: Get compliance jobs for a compliance job collection.
      operationId: get_compliance_job_collection_jobs
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/complianceJobsSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListComplianceJobsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceJob'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /compliance-job-collections/{complianceJobCollectionId}/jobs/search:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    post:
      tags:
      - ComplianceJobCollections
      summary: Search compliance jobs for a compliance job collection.
      operationId: search_compliance_job_collection_jobs
      x-filterable:
        fields:
          id:
            type: string
          name:
            type: string
          engine_id:
            type: string
          engine_name:
            type: string
          engine_job_id:
            type: integer
          type:
            type: string
          execution_type:
            type: string
          is_on_the_fly_masking:
            type: boolean
          creation_date:
            type: string
          last_completed_execution_date:
            type: string
          last_execution_status:
            type: string
          last_execution_id:
            type: string
          last_execution_start_time:
            type: string
          last_execution_run_time:
            type: integer
          rule_set_id:
            type: string
          rule_set_name:
            type: string
          hyperscale_instance_id:
            type: string
          description:
            type: string
          dataset_id:
            type: string
          retain_execution_data:
            type: string
          max_memory:
            type: integer
          min_memory:
            type: integer
          feedback_size:
            type: integer
          stream_row_limit:
            type: integer
          num_input_streams:
            type: integer
          max_concurrent_source_connections:
            type: integer
          max_concurrent_target_connections:
            type: integer
          hyperscale_enabled:
            type: boolean
          auto_calculate_unload_split:
            type: boolean
          consider_continuous_compliance_warning_event_as:
            type: string
          create_all_indexes_with_nologging:
            type: boolean
          disable_parallel_index_creation:
            type: boolean
          enable_all_constraints_with_novalidate:
            type: boolean
          max_parallel_connections_per_table:
            type: integer
          max_records_per_split:
            type: integer
          max_split_per_connection:
            type: integer
          parallelism_degree:
            type: integer
          discovery_policy_id:
            type: string
          discovery_policy_name:
            type: string
          tags:
            type: array[object]
            fields:
              key:
                type: string
              value:
                type: string
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/complianceJobsSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchComplianceJobsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceJob'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /compliance-job-collections/{complianceJobCollectionId}/tags:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    get:
      tags:
      - ComplianceJobCollections
      summary: Get tags for a compliance job collection.
      operationId: get_compliance_job_collection_tags
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
    post:
      tags:
      - ComplianceJobCollections
      summary: Create tags for a compliance job collection.
      operationId: create_compliance_job_collection_tags
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: compliance_job_collection_tags
              $ref: '#/components/schemas/TagsRequest'
        description: Tags information for a compliance job collection.
        required: true
      responses:
        '201':
          description: Compliance job collection tags created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /compliance-job-collections/{complianceJobCollectionId}/tags/delete:
    parameters:
    - $ref: '#/components/parameters/complianceJobCollectionIdParam'
    post:
      tags:
      - ComplianceJobCollections
      summary: Delete tags for a compliance job collection.
      operationId: delete_compliance_job_collection_tags
      requestBody:
        $ref: '#/components/requestBodies/DeleteTags'
      responses:
        '204':
          description: No Content
components:
  schemas:
    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
    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
    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
    JobTaskEvent:
      properties:
        message_details:
          type: string
    ComplianceJobScript:
      description: A SQL script to be run before or after a compliance job.
      type: object
      required:
      - name
      - contents
      properties:
        name:
          description: The name of the SQL script.
          type: string
          example: pre_script.sql
        contents:
          description: The contents of the SQL script.
          type: string
          maxLength: 65535
    DeleteTag:
      type: object
      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
        tags:
          description: List of tags to be deleted
          type: array
          minItems: 1
          maxItems: 1000
          uniqueItems: true
          items:
            $ref: '#/components/schemas/Tag'
    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
    TagsRequest:
      type: object
      required:
      - tags
      properties:
        tags:
          description: Array of tags with key value pairs
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          minItems: 1
          maxItems: 1000
          uniqueItems: true
    CreateComplianceJobCollectionRequest:
      type: object
      description: Parameters to create a compliance job collection.
      required:
      - name
      properties:
        name:
          type: string
          description: The name of the compliance job collection.
          example: My favorite Compliance Job Collection
        description:
          type: string
          description: The description of the compliance job collection.
          example: Compliance Job Collection for app finance
        failure_handling:
          type: string
          description: The failure handling settings for the compliance job collection.
          nullable: true
          $ref: '#/components/schemas/JobCollectionFailureHandlingEnum'
        members:
          type: array
          description: The list of compliance job IDs and their collection sequence to be included in the collection.
          items:
            $ref: '#/components/schemas/ComplianceJobCollectionMembers'
          maxItems: 100
          uniqueItems: true
        tags:
          description: The tags to be created for this compliance job collection.
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    JobCollectionFailureHandlingEnum:
      type: string
      enum:
      - IGNORE
      - CANCEL_ALL
      - CANCEL_SUBSEQUENT
      example: IGNORE
    ExecutionStatus:
      description: The status of a masking or discovery job.
      type: string
      enum:
      - PENDING
      - QUEUED
      - RUNNING
      - CANCELLED
      - FAILED
      - SUCCEEDED
      - WARNING
      - WAITING
      example: RUNNING
    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"
    ComplianceJobCollection:
      type: object
      description: A compliance job collection.
      properties:
        id:
          description: The Compliance Job Collection entity ID.
          type: string
          readOnly: true
          example: compliance-job-collection-1
        name:
          type: string
          description: The name of the compliance job collection.
          example: My favorite Compliance Job Collection
        description:
          type: string
          description: The description of the compliance job collection.
          example: Compliance Job Collection for app finance
        creation_date:
          type: string
          readOnly: true
          description: The date this compliance job collection was created.
          format: date-time
          example: '2022-11-30T08:51:34.148000+00:00'
        job_count:
          type: integer
          readOnly: true
          description: The number of jobs in this compliance job collection.
          example: 10
        last_execution_id:
          type: string
          readOnly: true
          description: The ID of the last execution of this compliance job collection if exists.
          example: 414ed52c-fa89-455d-9fb9-9c2fa5115f80
        failure_handling:
          type: string
          description: The failure handling settings for the compliance job collection.
          nullable: true
          $ref: '#/components/schemas/JobCollectionFailureHandlingEnum'
        job_missing:
          type: boolean
          readOnly: true
          description: Whether any jobs in the collection are missing.
        members:
          type: array
          description: The list of compliance job IDs and their collection sequence to be included in the collection.
          items:
            $ref: '#/components/schemas/ComplianceJobCollectionMembers'
          maxItems: 100
          uniqueItems: true
        tags:
          description: The tags of this compliance job collection.
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    UpdateComplianceJobCollectionRequest:
      type: object
      description: Parameters to update a compliance job collection.
      properties:
        name:
          type: string
          description: The name of the compliance job collection.
          example: My favorite Compliance Job Collection
        description:
          type: string
          description: The description of the compliance job collection.
          example: Compliance Job Collection for app finance
        failure_handling:
          type: string
          description: The failure handling settings for the compliance job collection.
          nullable: true
          $ref: '#/components/schemas/JobCollectionFailureHandlingEnum'
        members:
          type: array
          description: The list of compliance job IDs and their collection sequence to be included in the collection.
          items:
            $ref: '#/components/schemas/ComplianceJobCollectionMembers'
          maxItems: 100
          uniqueItems: true
    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
    ExecuteComplianceJobCollectionRequest:
      type: object
      description: Parameters to execute a compliance job collection.
    ComplianceJob:
      description: A compliance job.
      type: object
      properties:
        id:
          description: The Compliance Job entity ID.
          type: string
          readOnly: true
          example: compliance-job-1
        name:
          description: The name of this Compliance Job.
          type: string
          example: My favorite ComplianceJob
        rule_set_id:
          description: The ID of the Rule Set used by this Compliance Job (Standard Job only). For hyperscale jobs, see dataset_id.
          type: string
          example: uuid
        rule_set_name:
          description: The name of the Rule Set used by this Compliance Job (Standard Job only). For hyperscale jobs, see dataset_id.
          type: string
          example: my rule set
        connector_type:
          type: string
          description: The type of data being masked by this Job. If the Compliance Job is masking a database this is the type of the database (Standard Job only).
          example: MARIADB
        is_on_the_fly_masking:
          description: Whether this is an on-the-fly masking job (Standard Job only).
          type: boolean
          example: true
        is_multi_tenant:
          description: If true, this job must be executed using a connector that is different from the underlying connector associated with its ruleset.
          type: boolean
          example: false
        pre_script:
          $ref: '#/components/schemas/ComplianceJobScript'
        post_script:
          $ref: '#/components/schemas/ComplianceJobScript'
        creation_date:
          description: The date this ComplianceJob was created (Standard Job only).
          type: string
          format: date-time
          example: '2022-11-30T08:51:34.148000+00:00'
        last_completed_execution_date:
          description: The date this ComplianceJob was last executed to completion.
          type: string
          format: date-time
          example: '2022-11-30T09:51:34.148000+00:00'
        hyperscale_state:
          description: The hyperscale capability/state for the compliance job.
          type: string
          enum:
          - NOT_AVAILABLE
          - AVAILABLE
          - ENABLED
          example: NOT_AVAILABLE
        last_execution_status:
          $ref: '#/components/schemas/ExecutionStatus'
        last_execution_id:
          description: The ID of this ComplianceJob's last execution.
          type: string
          example: 00e38996-7da2-4827-8f3e-0503234de537
        last_execution_start_time:
          description: The start time of the most recent execution of this compliance job.
          type: string
          format: date-time
          example: '2022-11-30T09:51:34.148000+00:00'
        last_execution_run_time:
          description: The run time of the most recent execution of this compliance job in ms.
          type: integer
          format: int64
          example: 31000
        on_the_fly_source_connector_id:
          type: string
          description: The ID of the OTF source connector for this job
          nullable: true
        on_the_fly_source_connector_name:
          type: string
          description: The name of the OTF source connector for this job
          nullable: true
        on_the_fly_source_connector_type:
          type: string
          description: The type of the OTF source connector for this job
          nullable: true
        type:
          type: string
          description: The type of compliance job.
          enum:
          - MASKING
          - DISCOVERY
          - TOKENIZATION
          - REIDENTIFICATION
          example: MASKING
        execution_type:
          type: string
          description: The execution type of this Job.
          enum:
          - STANDARD
          - HYPERSCALE
          example: STANDARD
        hyperscale_instance_id:
          description: The ID of the Hyperscale instance of this job (Hyperscale Job only).
          type: string
          example: abc
        description:
          description: Description of the job (Hyperscale Job only).
          type: string
          example: Job for app finance
        dataset_id:
          description: Dataset of the Hyperscale Job (Hyperscale Job only).
          type: string
          example: dataset-123
        retain_execution_data:
          description: Defines whether execution data will be stored after execution is complete (Hyperscale Job only).
          type: string
          enum:
          - 'NO'
          - ON_ERROR
          - ALWAYS
          example: false
        max_memory:
          description: The maximum amount of memory, in MB, that the compliance job can consume during execution. A value of 0 uses the default max memory set in application settings.
          type: integer
          format: int32
          example: 1024
          minimum: 0
          default: 0
        min_memory:
          description: The minimum amount of memory, in MB, that the compliance job can consume during execution.
          type: integer
          format: int32
          example: 1024
          minimum: 0
        feedback_size:
          description: The granularity with which the system provides updates on the progress of the compliance job. For instance, a feedback size of 50000 results in log updates whenever 50000 rows are processed during the masking phase.
          type: integer
          format: int32
          minimum: 1
          example: 50000
        stream_row_limit:
          description: This value constrains the total number of rows that may enter the job for each masking stream. A value of 0 means unlimited. A value of -1 selects the default value. The default value for this setting varies by job type. The minimum explicit value allowed is 20.
          type: integer
          format: int32
          minimum: -1
          example: 20000
        num_input_streams:
          description: This field controls the amount of parallelism that the masking job uses to extract out the data to be masked.
          type: integer
          format: int32
          minimum: 1
          default: 1
          example: 4
        max_concurrent_source_connections:
          description: Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).
          type: integer
          format: int32
          example: 32
        max_concurrent_target_connections:
          description: Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).
          type: integer
          format: int32
          example: 32
        hyperscale_enabled:
          type: boolean
          example: true
          description: This flag indicates if this compliance job is enabled for Hyperscale processing.
        auto_calculate_unload_split:
          type: boolean
          example: true
          description: If set, hyperscale will auto calculate the no of splits required for masking job.
        consider_continuous_compliance_warning_event_as:
          type: string
          enum:
          - SUCCESS
          - FAILURE
          example: SUCCESS
          description: The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data.
        create_all_indexes_with_nologging:
          type: boolean
          example: false
          description: Add all indexes with NOLOGGING as part of post load.
        disable_parallel_index_creation:
          type: boolean
          example: false
          description: Exclude indexes from combining with constraint and trigger groups as part of pre load.
        enable_all_constraints_with_novalidate:
          type: boolean
          example: false
          description: Enable all constraints with NOVALIDATE as part of post load.
        max_parallel_connections_per_table:
          type: integer
          example: 10
          description: Maximum number of parallel connection that per table per masking job.
        max_records_per_split:
          type: integer
          format: int64
          example: 100000000
          description: Maximum number of rows allowed per split file for job execution.
        max_split_per_connection:
          type: integer
          example: 4
          description: Maximum number of split files allowed per connection for job execution.
        parallelism_degree:
          description: The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).
          type: integer
          format: int32
          example: 4
        source_masking_job_id:
          description: The ID of the MaskingJob that was used as the source to create this job (Hyperscale Job only).
          type: string
          example: masking-job-0
        engine_id:
          description: The engine on which this job resides (Standard Job only).
          type: string
          example: 1
        engine_name:
          description: The name of the engine on which this job resides (Standard Job only).
          type: string
          example: masking-engine-1
        engines:
          description: List of compliance nodes this Hyperscale job can run on, with id and name (Hyperscale only).
          type: array
          items:
            $ref: '#/components/schemas/Engine'
        discovery_policy_id:
          description: The id of the discovery policy in use - applicable for discovery jobs only.
          nullable: true
          type: string
        discovery_policy_name:
          description: The name of the discovery policy in use - applicable for discovery jobs only.
          nullable: true
          type: string
          example: ASDD Standard
        environment_name:
          description: The name of the environment in which this job resides on the compliance engine.
          type: string
          example: B2B Staging
        application_name:
          description: The name of the application associated with the e

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/delphix/refs/heads/main/openapi/delphix-compliancejobcollections-api-openapi.yml