Zededa DatastoreConfiguration API

The DatastoreConfiguration API from Zededa — 4 operation(s) for datastoreconfiguration.

OpenAPI Specification

zededa-datastoreconfiguration-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: ZEDEDA App Profiles Service AppProfileService DatastoreConfiguration API
  description: The ZEDEDA App Profiles Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to define their app profiles on ZEDEDA platform and to manage them remotely.
  termsOfService: https://www.zededa.com/terms
  version: '1.0'
  contact:
    name: ZEDEDA API Support
    url: https://www.zededa.com/support
    email: support@zededa.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
basePath: /api
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: DatastoreConfiguration
paths:
  /v1/datastores:
    get:
      summary: Query datastores
      description: Query the datastore records.
      operationId: DatastoreConfiguration_QueryDatastores
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/Datastores'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: summary
        description: Only summary of the records required
        in: query
        required: false
        type: boolean
      - name: namePattern
        description: Datastore name pattern to be matched.
        in: query
        required: false
        type: string
      - name: dsType
        description: Datastore type to be matched
        in: query
        required: false
        type: integer
        format: int32
      - name: originType
        description: origin of datastore
        in: query
        required: false
        type: integer
        format: int32
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
    post:
      summary: Create Datastore
      description: Create a Datastore record.
      operationId: DatastoreConfiguration_CreateDatastore
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '400':
          description: Bad Request. The API gateway did not process the request because of missing parameter or invalid value of parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this datastore record will conflict with an already existing datastore record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/DatastoreInfo'
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
  /v1/datastores/id/{id}:
    get:
      summary: Get datastore
      description: Get the configuration (without security details) of a datastore record.
      operationId: DatastoreConfiguration_GetDatastore
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DatastoreInfo'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System defined universally unique Id of the datastore
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
    delete:
      summary: Delete datastore
      description: Delete a datastore record.
      operationId: DatastoreConfiguration_DeleteDatastore
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because there are edge application images using this datastore
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System defined universally unique Id of the datastore
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
    put:
      summary: Update datastore
      description: Update a datastore record. The usual pattern to update a datastore record is to retrieve the record and update with the modified values in a new body to update the datastore record.
      operationId: DatastoreConfiguration_UpdateDatastore
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '409':
          description: Conflict. The API gateway did not process the request because this operation will conflict with an already existing datastore record.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: id
        description: System defined universally unique Id of the datastore.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          type: object
          properties:
            name:
              type: string
              description: User defined name of the datastore, unique across the enterprise. Once datastore is created, name can’t be changed.
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9][a-zA-Z0-9_.-]+'
              uniqueItems: true
            title:
              type: string
              description: User defined title of the datastore. Title can be changed at any time.
              maxLength: 256
              minLength: 3
              pattern: '[a-zA-Z0-9]+[a-zA-Z0-9!-~ ]+'
            description:
              type: string
              description: Detailed description of the datastore.
              maxLength: 256
            revision:
              $ref: '#/definitions/ObjectRevision'
              description: system defined info
              readOnly: true
            enterpriseId:
              type: string
            dsType:
              $ref: '#/definitions/DatastoreType'
              description: Datastore type
            dsFQDN:
              type: string
              description: Datastore Fully Qualified Domain Name
            dsPath:
              type: string
              description: Datastore relative path w.r.t. Datastore root
            apiKey:
              type: string
            region:
              type: string
              description: Datastore region - valid for AWS S3 and Azure BlobStorage
            dsStatus:
              $ref: '#/definitions/DatastoreStatus'
              description: Datastore status
            dsErr:
              type: string
              description: Datastore validation detailed error/status message
              readOnly: true
            secret:
              $ref: '#/definitions/DatastoreInfoSecrets'
              description: Plain-text sensitive data
            encryptedSecrets:
              type: object
              additionalProperties:
                type: string
              description: Internal - Encrypted sensitive data
              readOnly: true
            cryptoKey:
              type: string
              description: Internal - Encryption Key context
              readOnly: true
            originType:
              $ref: '#/definitions/Origin'
              description: Origin type of datastore.
              readOnly: true
            certificateChain:
              $ref: '#/definitions/CertificateChain'
              description: Certificate chain of the certificate
            needClearText:
              type: boolean
              description: knob for sending creds in clear text
            projectAccessList:
              type: array
              items:
                type: string
              description: project access list of the datastore
          description: Datastore idetail
          title: Datastore
          required:
          - name
          - title
          - dsType
          - dsFQDN
          - dsPath
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
  /v1/datastores/name/{name}:
    get:
      summary: Get datastore
      description: Get the configuration (without security details) of a datastore record.
      operationId: DatastoreConfiguration_GetDatastoreByName
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DatastoreInfo'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '404':
          description: Not Found. The API gateway did not process the request because the requested resource could not be found.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: name
        description: User defined name of the datastore, unique across the enterprise. Once datastore is created, name can’t be changed.
        in: path
        required: true
        type: string
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
  /v1/datastores/projects:
    get:
      summary: Query the project access list among a list of datastore
      description: Query the project access list among a list of datastore
      operationId: DatastoreConfiguration_QueryDatastoreProjectList
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/DatastoreProjectList'
        '400':
          description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '401':
          description: Unauthorized. The API gateway did not process the request because it lacks valid authentication credentials for the target resource. The request header has either no authorization details or an authorization that has been refused.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '403':
          description: Forbidden. The API gateway did not process the request because the requestor does not have edge-node level access permission for the operation or does not have access scope to the project.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '500':
          description: Internal Server Error. The API gateway experienced an unexpected condition. Specific error condition is indicated in error codes.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        '504':
          description: Gateway Timeout. The API gateway did not receive a timely response from an upstream microservice it needed to communicate with in order to complete the request.
          schema:
            $ref: '#/definitions/ZsrvResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: ids
        description: List of datastore IDs
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageToken
        description: Page Token
        in: query
        required: false
        type: string
      - name: next.orderBy
        description: OrderBy helps in sorting the list response
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: next.pageNum
        description: Page Number
        in: query
        required: false
        type: number
        format: int64
      - name: next.pageSize
        description: Defines the page size
        in: query
        required: false
        type: number
        format: int64
      - name: next.totalPages
        description: Total number of pages to be fetched.
        in: query
        required: false
        type: number
        format: int64
      - name: X-Request-Id
        in: header
        required: false
        description: User-Agent specified id to track a request
        type: string
      tags:
      - DatastoreConfiguration
      externalDocs:
        description: ZEDEDA Product Documentation
        url: https://docs.zededa.com/-M-8m8d8KqdLpfOgY_jo/storage
definitions:
  ZcOpsType:
    type: string
    enum:
    - OPS_TYPE_UNSPECIFIED
    - OPS_TYPE_READ
    - OPS_TYPE_DELETE
    - OPS_TYPE_CREATE
    - OPS_TYPE_UPDATE
    - OPS_TYPE_LIST
    default: OPS_TYPE_UNSPECIFIED
    title: ZedCloud internal operation type
  ObjectType:
    type: string
    enum:
    - OBJECT_TYPE_UNSPECIFIED
    - OBJECT_TYPE_USER
    - OBJECT_TYPE_EDGE_NODE
    - OBJECT_TYPE_EDGE_APP
    - OBJECT_TYPE_IMAGE
    - OBJECT_TYPE_EDGE_APP_INSTANCE
    - OBJECT_TYPE_PROJECT
    - OBJECT_TYPE_NETWORK
    - OBJECT_TYPE_DATASTORE
    - OBJECT_TYPE_SERVICE
    - OBJECT_TYPE_SERVICE_INSTANCE
    - OBJECT_TYPE_ENTERPRISE
    - OBJECT_TYPE_ROLE
    - OBJECT_TYPE_CREDENTIAL
    - OBJECT_TYPE_NETWORK_INSTANCE
    - OBJECT_TYPE_VOLUME_INSTANCE
    - OBJECT_TYPE_REALM
    - OBJECT_TYPE_AUTHPROFILE
    - OBJECT_TYPE_POLICY
    - OBJECT_TYPE_APP_POLICY
    - OBJECT_TYPE_CLUSTER_INSTANCE
    - OBJECT_TYPE_PLUGIN
    - OBJECT_TYPE_DOC_POLICY
    - OBJECT_TYPE_ORCHESTRATOR_CLUSTER
    - OBJECT_TYPE_TAGS
    - OBJECT_TYPE_EDGE_NODE_INTERFACE
    - OBJECT_TYPE_DEPLOYMENT
    - OBJECT_TYPE_ENTITLEMENTS
    - OBJECT_TYPE_DATA_STREAM
    - OBJECT_TYPE_API_USAGE
    - OBJECT_TYPE_APP_INSTANCE_SNAPSHOT
    - OBJECT_TYPE_PATCH_ENVELOPE
    - OBJECT_TYPE_RESOURCE_USAGE_TRACK
    - OBJECT_TYPE_PATCH_ENVELOPE_REFERENCE
    - OBJECT_TYPE_DEV_PASSTHROUGH
    - OBJECT_TYPE_EDGE_NODE_CLUSTER
    - OBJECT_TYPE_ASSET_GROUP
    - OBJECT_TYPE_APP_PROFILE
    - OBJECT_TYPE_PROFILE_DEPLOYMENT
    - OBJECT_TYPE_ZKS_INSTANCE
    - OBJECT_TYPE_CLUSTER_GROUP
    default: OBJECT_TYPE_UNSPECIFIED
  Summary:
    type: object
    properties:
      description:
        type: string
        description: Summary description
      total:
        type: number
        format: int64
        description: Total
      values:
        type: object
        additionalProperties:
          type: integer
          format: int64
        description: 'Values: Map for storing <string, uint32>'
    description: Summary is used to store the Summary details
    title: Summary is used to store the Summary details
  Subject:
    type: object
    properties:
      commonName:
        type: string
        description: Certificate common name.
      country:
        type: array
        items:
          type: string
        description: List of countries.
      organization:
        type: array
        items:
          type: string
        description: List of organization.
      organizationalUnit:
        type: array
        items:
          type: string
        description: List of Organizational Unit.
      locality:
        type: array
        items:
          type: string
        description: List of locallity.
      postalCode:
        type: array
        items:
          type: string
        description: List of Postal codes.
      province:
        type: array
        items:
          type: string
        description: List of List of Prvince.
      serialNumber:
        type: string
        description: Subject cerial number
  Origin:
    type: string
    enum:
    - ORIGIN_UNSPECIFIED
    - ORIGIN_IMPORTED
    - ORIGIN_LOCAL
    - ORIGIN_GLOBAL
    - ORIGIN_APP_PROFILE_LOCAL
    default: ORIGIN_UNSPECIFIED
    description: "- ORIGIN_UNSPECIFIED: default options, which says no Operation/Invalid Operation\n - ORIGIN_IMPORTED: Object imported from global enterprise.\n - ORIGIN_LOCAL: Objectl created locally.\n - ORIGIN_GLOBAL: Object created in global store,\nto use this type user should have root previlage.\n - ORIGIN_APP_PROFILE_LOCAL: Object created via App profile"
    title: 'OriginType : enum specifies the Object orgigin type'
  Certificate:
    type: object
    properties:
      cert:
        type: string
        description: base64 string of the parent certificate
        title: certificate details
      pvtKey:
        type: string
        description: base64 string of the parent pvt key
      publicKey:
        type: string
        description: base63 string of the public key
      passPhrase:
        type: string
        description: pass phase for the pvt key, this has to be filled if pvt key is encrypted with a pass phrase
      exportable:
        type: boolean
        description: Indicates if the private key can be exported.
      reuseKey:
        type: boolean
        description: Indicates if the same key pair will be used on certificate renewal.
      encryptedSecrets:
        type: object
        additionalProperties:
          type: string
        description: user encrypted secrets map
        title: secrets encryption
      cryptoKey:
        type: string
        description: Crypto Key for decrypting user secret information
      publicKeyAlgorithm:
        type: string
        description: Public key algorithm.
        title: encryption algorithm
      rsaEcryption:
        $ref: '#/definitions/RSA'
        description: RSA encryption algorithm of the certificate
      ecdsaEncryption:
        $ref: '#/definitions/ECDSA'
        description: ECDSA encryption algorithm of the certificate
      validFrom:
        type: string
        format: date-time
        description: Certificate validatity start time
        title: certificate validity
      validTill:
        type: string
        format: date-time
        description: Certificate validatity start time
      sanValues:
        $ref: '#/definitions/SANValues'
        description: This holds the alternative name values like URIs, domain names IPs etc.
        title: Subject alternative name values
      subject:
        $ref: '#/definitions/Subject'
        description: Parameters for the subject of the X509 component of a certificate.
      issuer:
        $ref: '#/definitions/Subject'
        description: Parameters for the issuer of the X509 component of a certificate.
      serialNumber:
        type: string
        description: 'Unique identifier for each Certificate generated by an Certificate Issuer. '
      basicContraintsValid:
        type: boolean
        description: This fields tells the basic constraints like isCA are correct.
      keyUsage:
        type: integer
        format: int32
        description: Key usage extensions define the purpose of the public key contained in a certificate.
      extendedKeyUsage:
        type: array
        items:
          type: string
        description: Sequence of extended key usages.
      signatureAlgorithm:
        type: string
  protobufAny:
    type: object
    properties:
      typeUrl:
        type: string
      value:
        type: string
        format: byte
  ObjectDetail:
    type: object
    properties:
      id:
        type: string
      name:
        type: string
  Cursor:
    type: object
    properties:
      pageToken:
        type: string
        description: Page Token
      orderBy:
        type: array
        items:
          type: string
        description: OrderBy helps in sorting the list response
      pageNum:
        type: number
        format: int64
        description: Page Number
      pageSize:
        type: number
        format: int64
        description: Defines the page size
      totalPages:
        type: number
        format: int64
        description: Total number of pages to be fetched.
    description: 'Cursor helps in filtering the various list response like edge-app bundle list, model list, bundle list etc. '
    title: Cursor is used as filter in list operation.
  ObjectRevision:
    type: object
    properties:
      prev:
        type: string
        description: Previous
      curr:
        type: string
        description: Current Database version of the record
      createdAt:
        type: object
        format: date-time
        description: The time, in milliseconds since the epoch, when the record was created.
      createdBy:
        type: string
        description: 'User data: Created By'
      updatedAt:
        type: object
        format: date-time
        description: The time, in milliseconds since the epoch, when the record was last updated.
      updatedBy:
        type: string
        description: 'User data: Updated By'
    description: ObjectRevision store the user details, who has doent the necessary operation like Create Operation or update operation
    title: ObjectRevision is used to store the user information.
    required:
    - curr
    - createdAt
    - createdBy
    - updatedAt
    - updatedBy
  SANValues:
    type: object
    properties:
      hosts:
        type: array
        items:
          type: string
        description: List of permitted hosts.
      emaildIds:
        type: array
        items:
          type: string
        description: List of permitted email addresses.
      uris:
        type: array
        items:
          type: string
        description: List of permitted URIs.
      ips:
        type: array
        items:
          type: string
        description: List of permitted IP addresses.
      dns:
        type: array
        items:
          type: string
        description: List of permitted DNS names.
      upns:
        type: array
        items:
          type: string
        description: List of permitted User principal names.
  DatastoreType:
    type: string
    enum:
    - DATASTORE_TYPE_UNSPECIFIED
    - DATASTORE_TYPE_HTTP
    - DATASTORE_TYPE_HTTPS
    - DATASTORE_TYPE_AWSS3
    - DATASTORE_TYPE_SFTP
    - DATASTORE_TYPE_CONTAINERREGISTRY
    - DATASTORE_TYPE_AZUREBLOB
    - DATASTORE_TYPE_ZEDEDAS3
    - DATASTORE_TYPE_ZEDEDABLOB
    - DATASTORE_TYPE_FILE_STORAGE
    default: DATASTORE_TYPE_UNSPECIFIED
    description: "- DATASTORE_TYPE_HTTP: Datastore hosted on HTTP server\n - DATASTORE_TYPE_HTTPS: Datastore hosted on HTTPS server\n - DATASTORE_TYPE_AWSS3: Datastore hosted on AWS S3\n - DATASTORE_TYPE_SFT

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