Delphix MaskingFiles API

The MaskingFiles API from Delphix — 8 operation(s) for maskingfiles.

OpenAPI Specification

delphix-maskingfiles-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Delphix DCT Algorithms MaskingFiles 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: MaskingFiles
paths:
  /masking-file-uploads:
    get:
      tags:
      - MaskingFiles
      summary: Retrieve the list of masking file uploads.
      operationId: get_masking_files
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/maskingFilesSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListMaskingFilesResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/MaskingFileUpload'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
    post:
      tags:
      - MaskingFiles
      summary: Upload a file for masking.
      operationId: upload_masking_file
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  description: The file to upload.
                  type: string
                  format: binary
                description:
                  description: A description of this file.
                  type: string
                tags:
                  description: The tags of this file.
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
      responses:
        '201':
          description: File has been uploaded.
          content:
            application/json:
              schema:
                type: object
                title: MaskingFileUploadResponse
                properties:
                  file:
                    $ref: '#/components/schemas/MaskingFileUpload'
                    description: The uploaded file.
  /masking-file-uploads/{maskingFileId}:
    parameters:
    - $ref: '#/components/parameters/maskingFileIdParam'
    patch:
      tags:
      - MaskingFiles
      summary: Update a masking file upload by id.
      operationId: update_masking_file_upload_by_id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaskingFileUploadUpdateParameters'
        description: The new data to update a masking file upload.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingFileUpload'
    get:
      summary: Get a masking file by ID or name.
      operationId: get_masking_file_by_id
      tags:
      - MaskingFiles
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingFileUpload'
  /masking-file-uploads/search:
    post:
      tags:
      - MaskingFiles
      summary: Search for masking files.
      operationId: search_masking_files
      x-filterable:
        fields:
          id:
            type: string
          description:
            type: string
          filename:
            type: string
          file_size:
            type: string
          file_checksum:
            type: string
          created_date:
            type: string
          file_reference_id:
            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/maskingFilesSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchMaskingFilesResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/MaskingFileUpload'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /masking-file-uploads/{maskingFileId}/tags:
    parameters:
    - $ref: '#/components/parameters/maskingFileIdParam'
    get:
      summary: Get tags for a masking file.
      operationId: get_masking_file_tags
      tags:
      - MaskingFiles
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
    post:
      parameters:
      - $ref: '#/components/parameters/maskingFileIdParam'
      summary: Create tags for a masking file.
      operationId: create_masking_file_tags
      tags:
      - MaskingFiles
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: masking_file_tags
              $ref: '#/components/schemas/TagsRequest'
        description: Tags information for masking file upload.
        required: true
      responses:
        '201':
          description: Masking file tags created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /masking-file-uploads/{maskingFileId}/tags/delete:
    parameters:
    - $ref: '#/components/parameters/maskingFileIdParam'
    post:
      tags:
      - MaskingFiles
      summary: Delete tags for a masking file
      operationId: delete_masking_file_tags
      requestBody:
        $ref: '#/components/requestBodies/DeleteTags'
      responses:
        '204':
          description: No Content
  /masking-file-uploads/{maskingFileId}/consumers:
    parameters:
    - $ref: '#/components/parameters/maskingFileIdParam'
    get:
      tags:
      - MaskingFiles
      summary: Get all consumers associated with this masking file
      operationId: get_masking_file_consumers
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/ConsumersSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListMaskingFileConsumersResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Consumer'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /masking-file-uploads/{maskingFileId}/consumers/search:
    parameters:
    - $ref: '#/components/parameters/maskingFileIdParam'
    post:
      tags:
      - MaskingFiles
      summary: Search consumers of a masking file.
      operationId: search_masking_file_consumers
      x-filterable:
        fields:
          parent_id:
            type: string
          parent_type:
            type: string
          parent_name:
            type: string
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/ConsumersSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchMaskingFileConsumersResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Consumer'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /masking-file-downloads/{fileDownloadId}/download-url:
    post:
      tags:
      - MaskingFiles
      summary: Generate a download url for a masking file.
      operationId: create_masking_file_download_url
      parameters:
      - $ref: '#/components/parameters/fileDownloadId'
      responses:
        '200':
          description: Download URL created.
          content:
            application/json:
              schema:
                type: object
                title: MaskingFileDownloadUrlCreateResponse
                properties:
                  url:
                    type: string
                    description: The download URL for the masking file.
components:
  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
    fileDownloadId:
      in: path
      name: fileDownloadId
      schema:
        type: string
        minLength: 1
      required: true
      description: The ID of the FileDownload.
    maskingFilesSortParam:
      name: sort
      in: query
      description: The field to sort results by. A property name with a prepended '-' signifies a descending order.
      example: id
      required: false
      schema:
        type: string
        enum:
        - id
        - -id
        - filename
        - -filename
        - created_date
        - -created_date
        - file_size
        - -file_size
        - file_checksum
        - -file_checksum
        - description
        - -description
        - file_reference_id
        - -file_reference_id
        nullable: true
        example: name
    maskingFileIdParam:
      in: path
      name: maskingFileId
      schema:
        type: string
        minLength: 1
      required: true
      description: The ID or name of the masking file.
    ConsumersSortParam:
      name: sort
      in: query
      description: The field to sort results by. A property name with a prepended '-' signifies a descending order.
      example: parent_id
      required: false
      schema:
        type: string
        enum:
        - parent_id
        - -parent_id
        - parent_type
        - -parent_type
        - parent_name
        - -parent_name
        nullable: true
        example: name
    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
  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
    TagsResponse:
      type: object
      properties:
        tags:
          description: Array of tags with key value pairs
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    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'
    MaskingFileUploadUpdateParameters:
      description: Parameters to update a masking engine
      type: object
      required:
      - description
      properties:
        description:
          description: A description for this masking file.
          type: string
    MaskingFileUpload:
      description: An uploaded file.
      type: object
      properties:
        id:
          type: string
          description: ID of file.
        description:
          type: string
          description: A description of this file.
        filename:
          type: string
          description: Name of this file.
        file_checksum:
          type: string
          description: Checksum of this file.
        file_size:
          type: integer
          format: int64
          description: Size of this file in bytes.
        created_date:
          type: string
          format: date-time
          description: Date that this file was created.
        file_reference_id:
          type: string
          description: A reference to this file.
        tags:
          type: array
          description: Tags of this file.
          items:
            $ref: '#/components/schemas/Tag'
    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
    Consumer:
      description: Consumer object.
      type: object
      properties:
        id:
          type: string
          description: Unique ID for this Consumer.
        parent_id:
          type: string
          description: ID of the parent object.
        parent_name:
          type: string
          description: The name of the parent object.
        parent_type:
          type: string
          description: The type of the object.
          example: algorithm
    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"
  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')
    DeleteTags:
      description: The parameters to delete tags
      content:
        application/json:
          schema:
            x-body-name: environment
            $ref: '#/components/schemas/DeleteTag'
          examples:
            delete_all_tags:
              description: Delete all tags for given object - No request body required
              summary: Delete all tags
              value: {}
            delete_tags_by_key:
              description: Delete all tags for given object with matching key
              summary: Delete tags by key
              value:
                key: key-1
            delete_tags_by_key_value:
              description: Delete tag for given object with matching key and value
              summary: Delete a tag by key & value
              value:
                key: key-1
                value: value-1
            delete_multiple_tags_by_key_value:
              description: Delete tags for given list of tags with matching key and value
              summary: Delete multiple tags by key & value
              value:
                tags:
                - key: key-1
                  value: value-1
                - key: key-2
                  value: value-2
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization