---
swagger: '2.0'
info:
  version: '1'
  title: Elastic Cloud Enterprise API
  termsOfService: ''
  x-doc-license:
    name: Attribution-NonCommercial-NoDerivatives 4.0 International
    url: https://creativecommons.org/licenses/by-nc-nd/4.0/
  x-feedbackLink:
    label: Feedback
    url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
  description: |
    This RESTful API enables you to create and manage both your Elastic Stack deployments and the ECE platform.

    NOTE: This documentation applies to the Elastic Cloud Enterprise API only.
    If you are using Elasticsearch Service, use the [Elastic Cloud API](https://www.elastic.co/docs/api/doc/cloud).

    This API supports both key-based and token-based authentication. Key-based is generally the preferred method.
    For details about creating an API key or bearer token, refer to [Authentication](https://www.elastic.co/guide/en/cloud-enterprise/current/ece-restful-api-authentication.html).

    ## Documentation source and versions

    This documentation applies to Elastic Cloud Enterprise version 3.8.
    It is derived from https://api.elastic-cloud.com/api/v1/api-docs/swagger.json.
    It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).
host: "{{hostname}}"
basePath: "/api/v1"
schemes:
- https
security:
- basicAuth: []
- apiKey: []
paths:
  "/account":
    get:
      tags:
      - Accounts
      summary: Fetch current account information
      description: Fetch current account information.
      operationId: get-current-account
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Account fetched successfully
          schema:
            "$ref": "#/definitions/AccountResponse"
        '404':
          description: 'Account not found. (code: `accounts.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - accounts.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Accounts
    put:
      tags:
      - Accounts
      summary: Updates the current account
      description: Updates the current account.
      operationId: update-current-account
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: the current account
        required: true
        schema:
          "$ref": "#/definitions/AccountUpdateRequest"
      responses:
        '200':
          description: Account updated successfully
          schema:
            "$ref": "#/definitions/AccountResponse"
        '404':
          description: 'Account not found. (code: `accounts.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - accounts.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Accounts
    patch:
      tags:
      - Accounts
      summary: Updates the current account
      description: Updates the current account.
      operationId: patch-current-account
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: All changes in the specified object are applied to the current
          account according to the JSON Merge Patch processing rules. Omitting existing
          fields causes the same values to be reapplied. Specifying a `null` value
          reverts the field to the default value, or removes the field when no default
          value exists.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Account updated successfully
          schema:
            "$ref": "#/definitions/AccountResponse"
        '404':
          description: 'Account not found. (code: `accounts.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - accounts.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Accounts
  "/billing/costs/{organization_id}":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get costs overview for the organization. Currently unavailable in self-hosted
        ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves an
        overview of the costs by organization ID.'
      operationId: get-costs-overview
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch costs. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          costs. Defaults to the current date.
        required: false
        type: string
      responses:
        '200':
          description: Top-level cost overview for the organization
          schema:
            "$ref": "#/definitions/CostsOverview"
        '400':
          description: 'The specified date range is invalid. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'An error occurred when fetching an overview of the costs for
            the organization. (code: `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/billing/costs/{organization_id}/charts":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get charts for the organization. Currently unavailable in self-hosted
        ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves the
        usage charts for the organization.'
      operationId: get-costs-charts
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch costs. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          costs. Defaults to the current date.
        required: false
        type: string
      - name: bucketing_strategy
        in: query
        description: The desired bucketing strategy for the charts. Defaults to `daily`.
        required: false
        type: string
        default: daily
        enum:
        - daily
        - monthly
      responses:
        '200':
          description: The usage charts of an organization.
          schema:
            "$ref": "#/definitions/ChartItems"
        '400':
          description: 'The specified date range is invalid. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '429':
          description: 'Too many requests. (code: `billing_service.rate_limited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.rate_limited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error fetching the itemized costs for the organization. (code:
            `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/billing/costs/{organization_id}/deployments":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get deployments costs for the organization. Currently unavailable in
        self-hosted ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves the
        costs associated with all deployments for the organization.'
      operationId: get-costs-deployments
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch activity. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          activity. Defaults to the current date.
        required: false
        type: string
      - name: Accept
        in: header
        description: Accept header containing the content preference.
        required: false
        type: string
      responses:
        '200':
          description: The costs associated to a set of products
          schema:
            "$ref": "#/definitions/DeploymentsCosts"
        '400':
          description: 'Invalid date range specified. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'An error occurred when fetching the costs associated with
            all deployments for the organization. (code: `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/billing/costs/{organization_id}/deployments/{deployment_id}/charts":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get charts by deployment. Currently unavailable in self-hosted ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves the
        usage charts for the given  deployment.'
      operationId: get-costs-charts-by-deployment
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: deployment_id
        in: path
        description: Id of a Deployment
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch costs. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          costs. Defaults to the current date.
        required: false
        type: string
      - name: bucketing_strategy
        in: query
        description: The desired bucketing strategy for the charts. Defaults to `daily`.
        required: false
        type: string
        default: daily
        enum:
        - daily
        - monthly
      responses:
        '200':
          description: The usage charts of a deployment.
          schema:
            "$ref": "#/definitions/ChartItems"
        '400':
          description: 'The specified date range is invalid. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '429':
          description: 'Too many requests. (code: `billing_service.rate_limited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.rate_limited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error fetching the itemized costs for the organization. (code:
            `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/billing/costs/{organization_id}/deployments/{deployment_id}/items":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get itemized costs by deployments. Currently unavailable in self-hosted
        ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves the
        itemized costs for the given deployment.'
      operationId: get-costs-items-by-deployment
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: deployment_id
        in: path
        description: Id of a Deployment
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch costs. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          costs. Defaults to the current date.
        required: false
        type: string
      - name: Accept
        in: header
        description: Determines the response body format. Can be either application/json
          or text/csv.
        required: false
        type: string
      responses:
        '200':
          description: The costs associated to a set items billed for a single deployment.
          schema:
            "$ref": "#/definitions/ItemsCosts"
        '400':
          description: 'The specified date range is invalid. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The organization was not found. (code: `organization.not_found`)
            * The Elasticsearch cluster was not found. (code: `billing_service.es_cluster_id_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
              - billing_service.es_cluster_id_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'An error occurred when fetching the itemized costs for the
            given deployment of the organization. (code: `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/billing/costs/{organization_id}/items":
    get:
      tags:
      - BillingCostsAnalysis
      summary: Get itemized costs for the organization. Currently unavailable in self-hosted
        ECE.
      description: 'EXPERIMENTAL (it may change in future versions): Retrieves the
        itemized costs for the organization.'
      operationId: get-costs-items
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the organization
        required: true
        type: string
      - name: from
        in: query
        description: A datetime for the beginning of the desired range for which to
          fetch costs. Defaults to start of current month.
        required: false
        type: string
      - name: to
        in: query
        description: A datetime for the end of the desired range for which to fetch
          costs. Defaults to the current date.
        required: false
        type: string
      responses:
        '200':
          description: The costs associated to a set of items
          schema:
            "$ref": "#/definitions/ItemsCosts"
        '400':
          description: 'The specified date range is invalid. (code: `costs.invalid_date_range`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - costs.invalid_date_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error fetching the itemized costs for the organization. (code:
            `billing_service.failed_request`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - billing_service.failed_request
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Billing Costs Analysis
      deprecated: true
  "/comments/{resource_type}/{resource_id}":
    get:
      tags:
      - Comments
      summary: List Comments
      description: Retrieves all the comments for a given Resource, in reverse modified
        time order.
      operationId: list-comment
      produces:
      - application/json
      parameters:
      - name: resource_type
        in: path
        description: The kind of Resource that a Comment belongs to. Should be one
          of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server,
          allocator, constructor, runner, proxy].
        required: true
        type: string
      - name: resource_id
        in: path
        description: Id of the Resource that a Comment belongs to.
        required: true
        type: string
      responses:
        '200':
          description: The Comments
          schema:
            "$ref": "#/definitions/CommentsWithMetas"
      x-doc:
        tag: Comments
    post:
      tags:
      - Comments
      summary: Create a Comment
      description: Creates a comment for the given Resource.
      operationId: create-comment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: resource_type
        in: path
        description: The kind of Resource that a Comment belongs to. Should be one
          of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server,
          allocator, constructor, runner, proxy].
        required: true
        type: string
      - name: resource_id
        in: path
        description: Id of the Resource that a Comment belongs to.
        required: true
        type: string
      - in: body
        name: body
        description: Data for comment creation
        required: true
        schema:
          "$ref": "#/definitions/CommentCreateRequest"
      responses:
        '201':
          description: The Comment that was just created.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Comment"
        '401':
          description: 'Your current session does not have a user id associated with
            it. (code: `comments.no_user_id`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'No Resource of the given type and id exist. (code: `comments.resource_does_not_exist`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.resource_does_not_exist
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'A Comment already exists with the generated id. Please try
            again. (code: `comments.id_already_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.id_already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Comments
  "/comments/{resource_type}/{resource_id}/{comment_id}":
    get:
      tags:
      - Comments
      summary: Get Comment
      description: Retrieves a Comment.
      operationId: get-comment
      produces:
      - application/json
      parameters:
      - name: resource_type
        in: path
        description: The kind of Resource that a Comment belongs to. Should be one
          of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server,
          allocator, constructor, runner, proxy].
        required: true
        type: string
      - name: resource_id
        in: path
        description: Id of the Resource that a Comment belongs to.
        required: true
        type: string
      - name: comment_id
        in: path
        description: Id of a Comment
        required: true
        type: string
      responses:
        '200':
          description: The Comment
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Comment"
        '404':
          description: 'The Comment you want does not exist. (code: `comments.comment_does_not_exist`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.comment_does_not_exist
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Comments
    put:
      tags:
      - Comments
      summary: Update Comment
      description: Updates a Comment.
      operationId: update-comment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: resource_type
        in: path
        description: The kind of Resource that a Comment belongs to. Should be one
          of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server,
          allocator, constructor, runner, proxy].
        required: true
        type: string
      - name: resource_id
        in: path
        description: Id of the Resource that a Comment belongs to.
        required: true
        type: string
      - name: comment_id
        in: path
        description: Id of a Comment
        required: true
        type: string
      - name: version
        in: query
        description: If specified then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The Comment update data.
        required: true
        schema:
          "$ref": "#/definitions/CommentUpdateRequest"
      responses:
        '200':
          description: Comment updated successfully.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Comment"
        '401':
          description: |-
            * The Comment does not belong to you. (code: `comments.unauthorised`)
            * Your current session does not have a user id associated with it. (code: `comments.no_user_id`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.unauthorised
              - comments.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Comment you want does not exist. (code: `comments.comment_does_not_exist`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.comment_does_not_exist
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The version you sent does not match the persisted version.
            (code: `comments.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Comments
    delete:
      tags:
      - Comments
      summary: Delete Comment
      description: Deletes a Comment.
      operationId: delete-comment
      produces:
      - application/json
      parameters:
      - name: resource_type
        in: path
        description: The kind of Resource that a Comment belongs to. Should be one
          of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server,
          allocator, constructor, runner, proxy].
        required: true
        type: string
      - name: resource_id
        in: path
        description: Id of the Resource that a Comment belongs to.
        required: true
        type: string
      - name: comment_id
        in: path
        description: Id of a Comment
        required: true
        type: string
      - name: version
        in: query
        description: If specified then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      responses:
        '200':
          description: Comment deleted successfully.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '401':
          description: |-
            * The Comment does not belong to you. (code: `comments.unauthorised`)
            * Your current session does not have a user id associated with it. (code: `comments.no_user_id`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.unauthorised
              - comments.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Comment you want does not exist. (code: `comments.comment_does_not_exist`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.comment_does_not_exist
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The version you sent does not match the persisted version.
            (code: `comments.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - comments.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Comments
  "/deployments":
    get:
      tags:
      - Deployments
      summary: List Deployments
      description: List Deployments.
      operationId: list-deployments
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The list of deployments that belong to the authenticated user.
          schema:
            "$ref": "#/definitions/DeploymentsListResponse"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
    post:
      tags:
      - Deployments
      summary: Create Deployment
      description: Creates a Deployment.
      operationId: create-deployment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: request_id
        in: query
        description: An optional idempotency token - if two create requests share
          the same request_id token (min size 32 characters, max 128) then only one
          deployment will be created, the second request will return the info of that
          deployment (in the same format described below, but with blanks for auth-related
          fields)
        required: false
        type: string
      - name: validate_only
        in: query
        description: If true, will just validate the Deployment definition but will
          not perform the creation
        required: false
        type: boolean
        default: false
      - name: template_id
        in: query
        description: An optional template id - if present, the referenced template
          will be used to fill in the resources field of the deployment creation request.
          If any resources are present in the request together with the template,
          the ones coming in the request will prevail and no merging with the template
          will be performed.
        required: false
        type: string
      - in: body
        name: body
        description: The deployment definition
        required: true
        schema:
          "$ref": "#/definitions/DeploymentCreateRequest"
      responses:
        '200':
          description: The request was valid (used when validate_only is true).
          schema:
            "$ref": "#/definitions/DeploymentCreateResponse"
        '201':
          description: The request was valid and a new deployment was created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentCreateResponse"
        '202':
          description: The request was valid and deployment creation had already been
            started.
          schema:
            "$ref": "#/definitions/DeploymentCreateResponse"
        '400':
          description: The deployment request had errors.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
  "/deployments/_resync":
    post:
      tags:
      - Deployments
      summary: Resynchronize Deployments
      description: Resynchronizes the search index for all the deployments.
      operationId: resync-deployments
      produces:
      - application/json
      parameters:
      - name: skip_matching_version
        in: query
        description: When true, skips the document indexing when the version matches
          the in-memory copy.
        required: false
        type: boolean
        default: true
      responses:
        '200':
          description: The deployments resync operation executed successfully.
          schema:
            "$ref": "#/definitions/IndexSynchronizationResults"
        '500':
          description: 'The deployments resync operation failed. (code: `deployments.resync_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resync_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - resync
  "/deployments/_search":
    post:
      tags:
      - Deployments
      summary: Search Deployments
      description: Retrieves the information for all of the deployments that match
        the specified query.
      operationId: search-deployments
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: minimal_metadata
        in: query
        description: Comma separated list of attributes to include in response for
          deployments found. Useful for reducing response size when retrieving many
          deployments. Use of this parameter moves the result to the minimal_metadata
          section of the response.
        required: false
        type: string
      - in: body
        name: body
        description: "(Optional) The search query to run. When not specified, all
          of the deployments are matched."
        required: false
        schema:
          "$ref": "#/definitions/SearchRequest"
      responses:
        '200':
          description: The list of deployments that match the specified query and
            belong to the authenticated user.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentsSearchResponse"
      x-doc:
        tag: Deployment - Commands
  "/deployments/eligible-remote-clusters":
    post:
      tags:
      - Deployments
      summary: Get eligible remote clusters
      description: Returns the list of deployments which contain eligible remote clusters
        for a specific version.
      operationId: search-eligible-remote-clusters
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: query
        description: The version of the Elasticsearch cluster cluster that will potentially
          be configured to have remote clusters.
        required: true
        type: string
      - in: body
        name: body
        description: "(Optional) The search query to run against all deployments containing
          eligible remote clusters. When not specified, all the eligible deployments
          are matched."
        required: false
        schema:
          "$ref": "#/definitions/SearchRequest"
      responses:
        '200':
          description: List of deployments which contains eligible remote clusters
            for a specific version
          schema:
            "$ref": "#/definitions/DeploymentsSearchResponse"
        '400':
          description: 'The provided version is invalid. (code: `stackpack.invalid_version`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - stackpack.invalid_version
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Remote Clusters
  "/deployments/extensions":
    get:
      tags:
      - Extensions
      summary: List Extensions
      description: Retrieves all of the available extensions.
      operationId: list-extensions
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The extensions that are available
          schema:
            "$ref": "#/definitions/Extensions"
      x-doc:
        tag: Deployments - Extensions
    post:
      tags:
      - Extensions
      summary: Create an extension
      description: |
        Creates the extension.
         The extensions API supports two types of usage patterns.
         A). Specify a `download_url`, http or https URL,  where the extension is currently hosted. This will result in extension being copied to elastic repository.
         B). Create only the extension metadata using the `POST` endpoint and then use `PUT` to upload the extension file. Leave the `download_url` unspecified in this case.
      operationId: create-extension
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: the data that creates the extension
        required: true
        schema:
          "$ref": "#/definitions/CreateExtensionRequest"
      responses:
        '201':
          description: The extension that was just created.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Extension"
        '400':
          description: 'Could not download the extension from the specified URL. (code:
            `extensions.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Your current session does not have a user id associated with
            it. (code: `extensions.no_user_id`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'An extension already exists with the generated id. Please
            try again. (code: `extensions.id_already_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.id_already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Extensions
  "/deployments/extensions/{extension_id}":
    get:
      tags:
      - Extensions
      summary: Get Extension
      description: Retrieves an extension.
      operationId: get-extension
      produces:
      - application/json
      parameters:
      - name: extension_id
        in: path
        description: Id of an extension
        required: true
        type: string
      - name: include_deployments
        in: query
        description: Include deployments referencing this extension. Up to only 10000
          deployments will be included.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The Extension
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Extension"
        '404':
          description: 'The extension requested does not exist. (code: `extensions.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Extensions
    post:
      tags:
      - Extensions
      summary: Update Extension
      description: Updates an extension.
      operationId: update-extension
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: extension_id
        in: path
        description: Id of an extension
        required: true
        type: string
      - in: body
        name: body
        description: The extension update data.
        required: true
        schema:
          "$ref": "#/definitions/UpdateExtensionRequest"
      responses:
        '200':
          description: Extension updated successfully.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Extension"
        '400':
          description: 'Could not download the extension from the specified URL. (code:
            `extensions.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: |-
            * The extension does not belong to you. (code: `extensions.unauthorised`)
            * Your current session does not have a user id associated with it. (code: `extensions.no_user_id`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.unauthorised
              - extensions.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The extension you want does not exist. (code: `extensions.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The version you sent does not match the persisted version.
            (code: `extensions.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Extensions
    put:
      tags:
      - Extensions
      summary: Uploads the Extension
      description: Uploads archive for an extension.
      operationId: upload-extension
      consumes:
      - multipart/form-data
      produces:
      - application/json
      parameters:
      - name: extension_id
        in: path
        description: Id of an extension
        required: true
        type: string
      - name: file
        in: formData
        description: Zip file that contains the extension
        required: true
        type: file
      responses:
        '200':
          description: Archive uploaded successfully.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/Extension"
        '400':
          description: 'Could not accept the extensions file. (code: `extensions.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: |-
            * The extension does not belong to you. (code: `extensions.unauthorised`)
            * Your current session does not have a user id associated with it. (code: `extensions.no_user_id`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.unauthorised
              - extensions.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The extension you want does not exist. (code: `extensions.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Extensions
    delete:
      tags:
      - Extensions
      summary: Delete Extension
      description: Deletes a Extension.
      operationId: delete-extension
      produces:
      - application/json
      parameters:
      - name: extension_id
        in: path
        description: Id of an extension
        required: true
        type: string
      responses:
        '200':
          description: Extension deleted successfully.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '401':
          description: |-
            * The extension does not belong to you. (code: `extensions.unauthorised`)
            * Your current session does not have a user id associated with it. (code: `extensions.no_user_id`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.unauthorised
              - extensions.no_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The extension requested does not exist. (code: `extensions.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The version you sent does not match the persisted version.
            (code: `extensions.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - extensions.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Extensions
  "/deployments/templates":
    get:
      tags:
      - DeploymentTemplates
      summary: Get deployment templates
      description: Retrieves all deployment templates.
      operationId: get-deployment-templates-v2
      produces:
      - application/json
      parameters:
      - name: metadata
        in: query
        description: An optional key/value pair in the form of (key:value) that will
          act as a filter and exclude any templates that do not have a matching metadata
          item associated.
        required: false
        type: string
      - name: show_instance_configurations
        in: query
        description: If true, will return details for each instance configuration
          referenced by the template.
        required: false
        type: boolean
        default: true
      - name: show_max_zones
        in: query
        description: If true, will populate the max_zones field in the instance configurations.
          Only relevant if show_instance_configurations=true.
        required: false
        type: boolean
        default: false
      - name: stack_version
        in: query
        description: If present, it will cause the returned deployment templates to
          be adapted to return only the elements allowed in that version.
        required: false
        type: string
      - name: hide_deprecated
        in: query
        description: If true, templates flagged as deprecated will NOT be returned.
        required: false
        type: boolean
        default: false
      - name: show_hidden
        in: query
        description: If true, templates flagged as hidden will be returned.
        required: false
        type: boolean
        default: false
      - name: region
        in: query
        description: Region of the deployment templates
        required: true
        type: string
      responses:
        '200':
          description: The deployment templates were returned successfully.
          schema:
            type: array
            items:
              "$ref": "#/definitions/DeploymentTemplateInfoV2"
        '400':
          description: 'The requested region was not found. (code: `templates.region_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'The user is not authorized to access requested region. (code:
            `templates.region_not_allowed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_allowed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Templates
    post:
      tags:
      - DeploymentTemplates
      summary: Create deployment template
      description: Creates a deployment template.
      operationId: create-deployment-template-v2
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: validate_only
        in: query
        description: If true, the deployment template definition will be validated
          but the template will not be created.
        required: false
        type: boolean
        default: false
      - name: region
        in: query
        description: Region of the deployment template
        required: true
        type: string
      - in: body
        name: body
        description: The deployment template definition.
        required: true
        schema:
          "$ref": "#/definitions/DeploymentTemplateRequestBody"
      responses:
        '200':
          description: The request was valid (used when validate_only is true).
          schema:
            "$ref": "#/definitions/IdResponse"
        '201':
          description: The deployment definition was valid and the template has been
            created.
          schema:
            "$ref": "#/definitions/IdResponse"
        '400':
          description: 'The requested region is not supported. (code: `templates.region_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'The user is not authorized to access requested region. (code:
            `templates.region_not_allowed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_allowed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Templates
  "/deployments/templates/{template_id}":
    get:
      tags:
      - DeploymentTemplates
      summary: Get deployment template
      description: Retrieves a deployment template by id.
      operationId: get-deployment-template-v2
      produces:
      - application/json
      parameters:
      - name: template_id
        in: path
        description: The identifier for the deployment template.
        required: true
        type: string
      - name: show_instance_configurations
        in: query
        description: If true, will return details for each instance configuration
          referenced by the template.
        required: false
        type: boolean
        default: true
      - name: show_max_zones
        in: query
        description: If true, will populate the max_zones field in the instance configurations.
          Only relevant if show_instance_configurations=true.
        required: false
        type: boolean
        default: false
      - name: stack_version
        in: query
        description: If present, it will cause the returned deployment template to
          be adapted to return only the elements allowed in that version.
        required: false
        type: string
      - name: region
        in: query
        description: Region of the deployment template
        required: true
        type: string
      responses:
        '200':
          description: The deployment template was found and returned successfully.
          schema:
            "$ref": "#/definitions/DeploymentTemplateInfoV2"
        '400':
          description: 'The requested region is not supported. (code: `templates.region_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'The user is not authorized to access requested region. (code:
            `templates.region_not_allowed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_allowed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The deployment template specified by {template_id} cannot
            be found. (code: `templates.template_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.template_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Templates
    put:
      tags:
      - DeploymentTemplates
      summary: Set deployment template
      description: Creates or updates a deployment template.
      operationId: set-deployment-template-v2
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: template_id
        in: path
        description: The identifier for the deployment template.
        required: true
        type: string
      - name: version
        in: query
        description: If specified, checks for conflicts against the version of the
          template (returned in 'x-cloud-resource-version' of the GET request)
        required: false
        type: string
      - name: create_only
        in: query
        description: If true, will fail if the deployment template already exists
          at the given id
        required: false
        type: boolean
        default: false
      - name: validate_only
        in: query
        description: If true, the deployment template definition will be validated
          but the template will not be updated.
        required: false
        type: boolean
        default: false
      - name: region
        in: query
        description: Region of the deployment template
        required: true
        type: string
      - in: body
        name: body
        description: The deployment template definition.
        required: true
        schema:
          "$ref": "#/definitions/DeploymentTemplateRequestBody"
      responses:
        '200':
          description: The deployment definition was valid and the template has been
            updated.
          schema:
            "$ref": "#/definitions/IdResponse"
        '201':
          description: The deployment definition was valid and the template was created.
          schema:
            "$ref": "#/definitions/IdResponse"
        '400':
          description: 'The requested region is not supported. (code: `templates.region_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'The user is not authorized to access requested region. (code:
            `templates.region_not_allowed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_allowed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The deployment template specified by {template_id} cannot
            be found. (code: `templates.template_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.template_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The version supplied in the request conflicted with the version
            found on the server. (code: `templates.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Templates
    delete:
      tags:
      - DeploymentTemplates
      summary: Delete deployment template
      description: Deletes a deployment template by id.
      operationId: delete-deployment-template-v2
      produces:
      - application/json
      parameters:
      - name: template_id
        in: path
        description: The identifier for the deployment template.
        required: true
        type: string
      - name: region
        in: query
        description: Region of the deployment template
        required: true
        type: string
      responses:
        '200':
          description: The deployment template was successfully deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The requested region is not supported. (code: `templates.region_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'The user is not authorized to access requested region. (code:
            `templates.region_not_allowed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.region_not_allowed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The deployment template specified by {template_id} cannot
            be found. (code: `templates.template_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - templates.template_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Templates
  "/deployments/traffic-filter/associations/{association_type}/{associated_entity_id}/rulesets":
    get:
      tags:
      - DeploymentsTrafficFilter
      summary: Get associated rulesets
      description: Retrieves the rulesets associated with a deployment.
      operationId: get-traffic-filter-deployment-ruleset-associations
      produces:
      - application/json
      parameters:
      - name: association_type
        in: path
        description: Association type
        required: true
        type: string
      - name: associated_entity_id
        in: path
        description: Associated entity ID
        required: true
        type: string
      responses:
        '200':
          description: Rulesets in the deployment were successfully returned
          schema:
            "$ref": "#/definitions/TrafficFilterSettings"
        '400':
          description: 'Invalid association type. (code: `traffic_filter.invalid_association_type`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.invalid_association_type
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error fetching traffic filter rulesets. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - Associations
  "/deployments/traffic-filter/link-ids":
    get:
      tags:
      - DeploymentsTrafficFilter
      summary: List traffic filter claimed link id
      description: List all of the traffic filter claimed link id.
      operationId: get-traffic-filter-claimed-link-ids
      produces:
      - application/json
      parameters:
      - name: region
        in: query
        description: If provided limits the claimed id to that region only.
        required: false
        type: string
      - name: organization_id
        in: query
        description: Retrieves a list of resources that are associated to the specified
          organization ID. It only takes effect if the user is an admin.
        required: false
        type: string
      responses:
        '200':
          description: The collection of traffic filter claimed link id
          schema:
            "$ref": "#/definitions/TrafficFilterClaimedLinkIds"
        '500':
          description: 'Error fetching traffic filter claimed link ids. (code: `traffic_filter_claimed_link_id.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter_claimed_link_id.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter Claimed Link Id
  "/deployments/traffic-filter/link-ids/_claim":
    post:
      tags:
      - DeploymentsTrafficFilter
      summary: Claim a link id
      description: Claim the ownership of a link id.
      operationId: claim-traffic-filter-link-id
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The specification for traffic filter claimed link id.
        required: true
        schema:
          "$ref": "#/definitions/TrafficFilterClaimedLinkIdRequest"
      responses:
        '201':
          description: The ruleset definition is valid and the creation has started.
          schema:
            "$ref": "#/definitions/TrafficFilterClaimedLinkIdInfo"
        '500':
          description: 'Error creating the traffic filter ruleset. (code: `traffic_filter_claimed_link_id.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter_claimed_link_id.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter Claimed Link Id
  "/deployments/traffic-filter/link-ids/_unclaim":
    post:
      tags:
      - DeploymentsTrafficFilter
      summary: Unclaims a link id
      description: Unclaims the ownership of a link id.
      operationId: unclaim-traffic-filter-link-id
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The specification for traffic filter claimed link id.
        required: true
        schema:
          "$ref": "#/definitions/TrafficFilterClaimedLinkIdRequest"
      responses:
        '200':
          description: The claimed link id was successfully deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'Error validating the request. (code: `traffic_filter_claimed_link_id.invalid_input`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter_claimed_link_id.invalid_input
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error deleting the traffic filter claimed link id. (code:
            `traffic_filter_claimed_link_id.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter_claimed_link_id.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter Claimed Link Id
  "/deployments/traffic-filter/rulesets":
    get:
      tags:
      - DeploymentsTrafficFilter
      summary: List traffic filter rulesets
      description: List all of the traffic filter rulesets.
      operationId: get-traffic-filter-rulesets
      produces:
      - application/json
      parameters:
      - name: include_associations
        in: query
        description: Retrieves a list of resources that are associated to the specified
          ruleset.
        required: false
        type: boolean
        default: false
      - name: region
        in: query
        description: If provided limits the rulesets to that region only.
        required: false
        type: string
      - name: organization_id
        in: query
        description: Retrieves a list of resources that are associated to the specified
          organization ID. It only takes effect if the user is an admin.
        required: false
        type: string
      responses:
        '200':
          description: The collection of traffic filter routes
          schema:
            "$ref": "#/definitions/TrafficFilterRulesets"
        '500':
          description: 'Error fetching traffic filter rulesets. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - CRUD
    post:
      tags:
      - DeploymentsTrafficFilter
      summary: Create a ruleset
      description: Creates a ruleset that consists of a set of rules.
      operationId: create-traffic-filter-ruleset
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The specification for traffic filter ruleset.
        required: true
        schema:
          "$ref": "#/definitions/TrafficFilterRulesetRequest"
      responses:
        '201':
          description: The ruleset definition is valid and the creation has started.
          schema:
            "$ref": "#/definitions/TrafficFilterRulesetResponse"
        '500':
          description: 'Error creating the traffic filter ruleset. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - CRUD
  "/deployments/traffic-filter/rulesets/{ruleset_id}":
    get:
      tags:
      - DeploymentsTrafficFilter
      summary: Retrieves the ruleset by ID.
      description: Retrieves a list of resources that are associated to the specified
        ruleset.
      operationId: get-traffic-filter-ruleset
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      - name: include_associations
        in: query
        description: Retrieves a list of resources that are associated to the specified
          ruleset.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The container for a set of traffic filter rules.
          schema:
            "$ref": "#/definitions/TrafficFilterRulesetInfo"
        '404':
          description: 'The traffic filter ruleset specified by {ruleset_id} cannot
            be found. (code: `traffic_filter.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error reading the traffic filter ruleset. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - CRUD
    put:
      tags:
      - DeploymentsTrafficFilter
      summary: Updates a ruleset
      description: Updates the ruleset with the definition.
      operationId: update-traffic-filter-ruleset
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      - in: body
        name: body
        description: The specification for traffic filter ruleset.
        required: true
        schema:
          "$ref": "#/definitions/TrafficFilterRulesetRequest"
      responses:
        '200':
          description: The ruleset definition was valid and the update has started.
          schema:
            "$ref": "#/definitions/TrafficFilterRulesetResponse"
        '404':
          description: 'The traffic filter ruleset specified by {ruleset_id} cannot
            be found. (code: `traffic_filter.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error reading the traffic filter ruleset. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - CRUD
    delete:
      tags:
      - DeploymentsTrafficFilter
      summary: Delete a ruleset
      description: Deletes the ruleset by ID.
      operationId: delete-traffic-filter-ruleset
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      - name: ignore_associations
        in: query
        description: When true, ignores the associations and deletes the ruleset.
          When false, recognizes the associations, which prevents the deletion of
          the rule set.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The traffic filter ruleset was successfully deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The traffic filter ruleset specified by {ruleset_id} cannot
            be found. (code: `traffic_filter.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Error deleting the traffic filter ruleset. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - CRUD
  "/deployments/traffic-filter/rulesets/{ruleset_id}/associations":
    get:
      tags:
      - DeploymentsTrafficFilter
      summary: Get associated deployments
      description: Retrieves a list of deployments that are associated to the specified
        ruleset.
      operationId: get-traffic-filter-ruleset-deployment-associations
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      responses:
        '200':
          description: Associations referred by traffic filter rulesets were successfully
            returned
          schema:
            "$ref": "#/definitions/RulesetAssociations"
        '500':
          description: 'Error fetching deployments. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - Associations
    post:
      tags:
      - DeploymentsTrafficFilter
      summary: Create ruleset association
      description: Applies the ruleset to the specified deployment.
      operationId: create-traffic-filter-ruleset-association
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      - in: body
        name: body
        description: Mandatory ruleset association description
        required: true
        schema:
          "$ref": "#/definitions/FilterAssociation"
      responses:
        '200':
          description: Create association request was valid and the association already
            exists
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '201':
          description: Create association request was valid and the association has
            been created
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The traffic filter ruleset specified by {ruleset_id} cannot
            be found. (code: `traffic_filter.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Creation failed. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - Associations
  "/deployments/traffic-filter/rulesets/{ruleset_id}/associations/{association_type}/{associated_entity_id}":
    delete:
      tags:
      - DeploymentsTrafficFilter
      summary: Delete ruleset association
      description: Deletes the traffic rules in the ruleset from the deployment.
      operationId: delete-traffic-filter-ruleset-association
      produces:
      - application/json
      parameters:
      - name: ruleset_id
        in: path
        description: The mandatory ruleset ID.
        required: true
        type: string
      - name: association_type
        in: path
        description: Association type
        required: true
        type: string
      - name: associated_entity_id
        in: path
        description: Associated entity ID
        required: true
        type: string
      responses:
        '200':
          description: Delete association request was valid and the association has
            been deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The traffic filter ruleset association cannot be found. (code:
            `traffic_filter.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Deletion failed. (code: `traffic_filter.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - traffic_filter.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployments - Traffic Filter - Associations
  "/deployments/{deployment_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment
      description: Retrieves information about a Deployment.
      operationId: get-deployment
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: show_security
        in: query
        description: Whether to include the Elasticsearch 2.x security information
          in the response - can be large per cluster and also include credentials
        required: false
        type: boolean
        default: false
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: |
          Whether to include the plan history with the current and pending plan information. The results can be very large per cluster.
           By default, if a given resource kind (e.g. Elasticsearch, Kibana, etc.) has more than 100 plans
           (which should be very rare, most likely caused by a bug) only 100 plans are returned for the given resource type:
           The first 10 plans, and the last 90 plans for that resource type.
           If ALL of the plans are desired, pass the `force_all_plan_history` parameter with a value of `true`.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative)
        required: false
        type: boolean
        default: false
      - name: convert_legacy_plans
        in: query
        description: If showing plans, whether to leave pre-2.0.0 plans in their legacy
          format (the default), or whether to update them to 2.0.x+ format (if 'true')
        required: false
        type: boolean
        default: false
      - name: show_system_alerts
        in: query
        description: Number of system alerts (such as forced restarts due to memory
          limits) to be included in the response - can be large per cluster. Negative
          numbers or 0 will not return field.
        required: false
        type: integer
        default: 0
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: show_instance_metrics
        in: query
        description: Whether to show resources instance metrics in the response.
        required: false
        type: boolean
        default: true
      - name: show_instance_configurations
        in: query
        description: If true, will return details for each instance configuration
          referenced by the deployment.
        required: false
        type: boolean
        default: true
      - name: enrich_with_template
        in: query
        description: If showing plans, whether to enrich the plan by including the
          missing elements from the deployment template it is based on
        required: false
        type: boolean
        default: true
      - name: force_all_plan_history
        in: query
        description: "Force show the entire plan history no matter how long.\n As
          noted in the `show_plan_history` parameter description, by default, a maximum
          of 100 plans are shown per resource. \n If `true`, this parameter overrides
          the default, and ALL plans are returned.\n Use with care as the plan history
          can be VERY large. Consider pairing with `show_plan_logs=false`.\n "
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The Deployment info response
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentGetResponse"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
    put:
      tags:
      - Deployments
      summary: Update Deployment
      description: Updates a Deployment.
      operationId: update-deployment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: hide_pruned_orphans
        in: query
        description: Whether or not to hide orphaned resources that were shut down
          (relevant if prune on the request is true)
        required: false
        type: boolean
        default: false
      - name: skip_snapshot
        in: query
        description: Whether or not to skip snapshots before shutting down orphaned
          resources (relevant if prune on the request is true)
        required: false
        type: boolean
        default: false
      - name: validate_only
        in: query
        description: If true, will just validate the Deployment definition but will
          not perform the update
        required: false
        type: boolean
        default: false
      - name: version
        in: query
        description: If specified then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The deployment definition
        required: true
        schema:
          "$ref": "#/definitions/DeploymentUpdateRequest"
      responses:
        '200':
          description: The request was valid and the deployment was updated.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentUpdateResponse"
        '400':
          description: The deployment request had errors.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
    delete:
      tags:
      - Deployments
      summary: Delete Deployment
      description: Deletes a Deployment and all its resources.
      operationId: delete-deployment
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      responses:
        '200':
          description: The request was valid and the deployment was deleted.
          schema:
            "$ref": "#/definitions/DeploymentDeleteResponse"
        '400':
          description: The Deployment resources have not been shutdown yet.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
  "/deployments/{deployment_id}/_restore":
    post:
      tags:
      - Deployments
      summary: Restores a shutdown Deployment
      description: Restores all resources in a Deployment.
      operationId: restore-deployment
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: restore_snapshot
        in: query
        description: Whether or not to restore a snapshot for those resources that
          allow it.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The request was valid and the resources of the deployment were
            restored.
          schema:
            "$ref": "#/definitions/DeploymentRestoreResponse"
        '400':
          description: There are Elasticsearch resources in the deployment which are
            not shut down.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
  "/deployments/{deployment_id}/_resync":
    post:
      tags:
      - Deployments
      summary: Resynchronize Deployment
      description: Immediately resynchronizes the search index for the selected deployment.
      operationId: resync-deployment
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      responses:
        '200':
          description: The deployment resync operation executed successfully.
          schema:
            "$ref": "#/definitions/IndexSynchronizationResults"
        '500':
          description: 'The deployment resync operation failed for deployment {deployment_id}.
            (code: `deployments.resync_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resync_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - resync
  "/deployments/{deployment_id}/_shutdown":
    post:
      tags:
      - Deployments
      summary: Shuts down Deployment
      description: Shuts down all resources in a Deployment.
      operationId: shutdown-deployment
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: hide
        in: query
        description: Whether or not to hide the deployment and its resources.Only
          applicable for Platform administrators.
        required: false
        type: boolean
      - name: skip_snapshot
        in: query
        description: Whether or not to skip snapshots before shutting down the resources
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The request was valid and the resources of the deployment were
            shutdown.
          schema:
            "$ref": "#/definitions/DeploymentShutdownResponse"
        '400':
          description: 'Parameter is restricted and can only be set by a Platform
            administrator. (code: `deployments.restricted_parameter`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.restricted_parameter
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
  "/deployments/{deployment_id}/apm/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment APM Resource Info
      description: Get info about an APM Resource belonging to a given Deployment.
      operationId: get-deployment-apm-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/ApmResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/apm/{ref_id}/_reset-token":
    post:
      tags:
      - Deployments
      summary: Reset the secret token for an APM resource.
      description: Reset the token of an APM resource.
      operationId: deployment-apm-reset-secret-token
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '202':
          description: Response containing the new secret token, plan to apply it
            starts
          schema:
            "$ref": "#/definitions/ApmCrudResponse"
        '400':
          description: 'Reset token is not supported when APM is managed by Elastic
            Agent. (code: `clusters.cluster_plan_state_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.cluster_plan_state_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: APM routes
  "/deployments/{deployment_id}/appsearch/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment App Search Resource Info
      description: Get info about an App Search Resource belonging to a given Deployment.
      operationId: get-deployment-appsearch-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/AppSearchResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode":
    get:
      tags:
      - Deployments
      summary: Set AppSearch read-only status
      description: Enable/Disable read-only mode on the given App Search resource.
      operationId: get-appsearch-read-only-mode
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/ReadOnlyResponse"
        '404':
          description: 'The Resource specified by ref_id cannot be found. (code: `deployments.deployment_resource_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: App Search - Read-only
    put:
      tags:
      - Deployments
      summary: Set AppSearch read-only status
      description: Enable/Disable read-only mode on the given App Search resource.
      operationId: set-appsearch-read-only-mode
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - in: body
        name: body
        description: read-only request body
        required: true
        schema:
          "$ref": "#/definitions/ReadOnlyRequest"
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/ReadOnlyResponse"
        '404':
          description: 'The Resource specified by ref_id cannot be found. (code: `deployments.deployment_resource_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: App Search - Read-only
  "/deployments/{deployment_id}/certificate-authority":
    get:
      tags:
      - Deployments
      summary: Get certificate authority
      description: Returns the certificate authority used to sign the certificates
        of this deployment.
      operationId: get-deployment-certificate-authority
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      responses:
        '200':
          description: The certificate authority used to sign the certificates of
            this deployment
          schema:
            "$ref": "#/definitions/CertificateAuthority"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Elasticsearch Resource cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Trust
  "/deployments/{deployment_id}/elasticsearch/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment Elasticsearch Resource Info
      description: Get info about an Elasticsearch Resource belonging to a given Deployment.
      operationId: get-deployment-es-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_security
        in: query
        description: Whether to include the Elasticsearch 2.x security information
          in the response - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: convert_legacy_plans
        in: query
        description: If showing plans, whether to leave pre-2.0.0 plans in their legacy
          format (the default), or whether to update them to 2.0.x+ format (if 'true').
        required: false
        type: boolean
        default: false
      - name: show_system_alerts
        in: query
        description: Number of system alerts (such as forced restarts due to memory
          limits) to be included in the response - can be large per cluster. Negative
          numbers or 0 will not return field.
        required: false
        type: integer
        default: 0
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: enrich_with_template
        in: query
        description: If showing plans, whether to enrich the plan by including the
          missing elements from the deployment template it is based on.
        required: false
        type: boolean
        default: true
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/ElasticsearchResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-ccr":
    post:
      tags:
      - Deployments
      summary: Migrate Elasticsearch and associated Kibana resources to enable CCR
      description: Migrates the specified Elasticsearch resource and its associated
        Kibana to enable CCR (if supported).
      operationId: enable-deployment-resource-ccr
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: validate_only
        in: query
        description: When `true`, will not enable CCR but returns warnings if any
          elements may lose availability during CCR enablement
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-ilm":
    post:
      tags:
      - Deployments
      summary: Migrate Elasticsearch resource to use ILM
      description: Migrates the specified Elasticsearch resource to use ILM.
      operationId: enable-deployment-resource-ilm
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: validate_only
        in: query
        description: When `true`, does not enable ILM but returns warnings if any
          applications may lose availability during ILM migration.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Information to build the ILM policies that will be created
        required: true
        schema:
          "$ref": "#/definitions/EnableIlmRequest"
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-slm":
    post:
      tags:
      - Deployments
      summary: Migrate Elasticsearch resource to use SLM
      description: Migrates the specified Elasticsearch resource to use SLM.
      operationId: enable-deployment-resource-slm
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: validate_only
        in: query
        description: When `true`, does not enable SLM but returns warnings if any
          applications may lose availability during SLM migration.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_reset-password":
    post:
      tags:
      - Deployments
      summary: Reset 'elastic' user password
      description: Resets the password of the 'elastic' user.
      operationId: reset-elasticsearch-user-password
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: check_completion
        in: query
        description: If true, will not reset elastic user password and instead will
          return a status code signaling whether or not the current credentials are
          ready to use (eg from creation or the last call to _reset_password)
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The password reset was out carried successfully
          schema:
            "$ref": "#/definitions/ElasticsearchElasticUserPasswordResetResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Failed to reset the ''elastic'' user''s password. (code: `deployments.elasticsearch.password_reset_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.elasticsearch.password_reset_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_restart":
    post:
      tags:
      - Deployments
      summary: Restart Deployment Elasticsearch Resource
      description: 'Restarts an Elasticsearch Resource. If a Resource is active: this
        command re-applies the existing plan but applies a "cluster_reboot", which
        issues a restart command and waits for it to complete. If a Resource is inactive:
        this command starts it up with the most recent successful plan.'
      operationId: restart-deployment-es-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: restore_snapshot
        in: query
        description: When set to true and restoring from shutdown, then will restore
          the cluster from the last snapshot (if available).
        required: false
        type: boolean
        default: true
      - name: skip_snapshot
        in: query
        description: If true, will not take a snapshot of the cluster before restarting.
        required: false
        type: boolean
        default: true
      - name: cancel_pending
        in: query
        description: If true, cancels any pending plans before restarting. If false
          and there are pending plans, returns an error.
        required: false
        type: boolean
        default: false
      - name: group_attribute
        in: query
        description: 'Indicates the property or properties used to divide the list
          of instances to restart in groups. Valid options are: ''\_\_all\_\_'' (restart
          all at once), ''\_\_zone\_\_'' by logical zone, ''\_\_name\_\_'' one instance
          at a time, or a comma-separated list of attributes of the instances'
        required: false
        type: string
        default: __zone__
      - name: shard_init_wait_time
        in: query
        description: 'The time, in seconds, to wait for shards that show no progress
          of initializing, before rolling the next group (default: 10 minutes)'
        required: false
        type: integer
        default: 600
      responses:
        '202':
          description: The restart command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '422':
          description: 'The command sent to a Resource found the Resource in an illegal
            state, the error message gives more details. (code: `deployments.deployment_resource_plan_change_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_plan_change_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/_shutdown":
    post:
      tags:
      - Deployments
      summary: Shutdown Deployment Elasticsearch Resource
      description: Shutdown Elasticsearch Resource belonging to a given Deployment.
      operationId: shutdown-deployment-es-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: hide
        in: query
        description: Hide cluster on shutdown. Hidden clusters are not listed by default.
          Only applicable for Platform administrators.
        required: false
        type: boolean
      - name: skip_snapshot
        in: query
        description: If true, will skip taking a snapshot of the cluster before shutting
          the cluster down (if even possible).
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '400':
          description: 'Parameter is restricted and can only be set by a Platform
            administrator. (code: `deployments.restricted_parameter`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.restricted_parameter
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/eligible-remote-clusters":
    post:
      tags:
      - Deployments
      summary: Get eligible remote clusters
      description: Returns the list of deployments which contain eligible remote clusters
        for the elasticsearch resource.
      operationId: get-deployment-es-resource-eligible-remote-clusters
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - in: body
        name: body
        description: "(Optional) The search query to run against all deployments containing
          eligible remote clusters. When not specified, all the eligible deployments
          are matched."
        required: false
        schema:
          "$ref": "#/definitions/SearchRequest"
      responses:
        '200':
          description: List of deployments which contains eligible remote clusters
            for the resource
          schema:
            "$ref": "#/definitions/DeploymentsSearchResponse"
        '400':
          description: 'The resource specified doesn''t yet have a valid version for
            the current plan or the pending plan. (code: `deployments.resource_does_not_have_a_valid_version`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resource_does_not_have_a_valid_version
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Remote Clusters
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/instances/{instance_ids}/_move":
    post:
      tags:
      - Deployments
      summary: Move Elasticsearch resource instances
      description: Moves one or more instances belonging to the given Elasticsearch
        resource to a different allocator.
      operationId: move-deployment-elasticsearch-resource-instances
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: ignore_missing
        in: query
        description: When `true` and the instance does not exist, proceeds to the
          next instance, or treats the instance as an error.
        required: false
        type: boolean
        default: false
      - name: force_update
        in: query
        description: When `true`, cancels and overwrites the pending plans, or treats
          the instance as an error.
        required: false
        type: boolean
        default: false
      - name: instances_down
        in: query
        description: When `true`, the instances specified by `instance_ids` are considered
          permanently shut down for data migration logic.
        required: false
        type: boolean
        default: false
      - name: move_only
        in: query
        description: When `true`, moves the specified instances and ignores the changes
          for the cluster state.
        required: false
        type: boolean
        default: true
      - name: force_move
        in: query
        description: When `true`, moves instance data at file-system level (not via
          Elasticsearch), and re-creates instances on target allocator(s).
        required: false
        type: boolean
        default: false
      - name: validate_only
        in: query
        description: When `true`, validates the move request, then returns the calculated
          plan without applying the plan.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Overrides the default move configuration
        required: false
        schema:
          "$ref": "#/definitions/TransientElasticsearchPlanConfiguration"
      responses:
        '200':
          description: If `validate_only` is `true`, the calculated plan is returned
          schema:
            "$ref": "#/definitions/TransientElasticsearchPlanConfiguration"
        '202':
          description: The move command was issued successfully. Use the "GET" command
            on the /{deployment_id} resource to monitor progress
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Elasticsearch Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/keystore":
    get:
      tags:
      - Deployments
      summary: Get the items in the Elasticsearch resource keystore
      description: Fetches the current fields and metadata (but not the values) of
        the keystore for the Elasticsearch resource.
      operationId: get-deployment-es-resource-keystore
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      responses:
        '200':
          description: The contents of the Elasticsearch keystore, with values redacted
          schema:
            "$ref": "#/definitions/KeystoreContents"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
    patch:
      tags:
      - Deployments
      summary: Add or remove items from the Elasticsearch resource keystore
      description: Adds the specified values to the Elasticsearch keystore, or removes
        the keys for the unspecified values.
      operationId: set-deployment-es-resource-keystore
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - in: body
        name: body
        description: The new settings that will be applied to the keystore of the
          Elasticsearch resource.
        required: true
        schema:
          "$ref": "#/definitions/KeystoreContents"
      responses:
        '200':
          description: The new contents of the Elasticsearch keystore
          schema:
            "$ref": "#/definitions/KeystoreContents"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
  "/deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters":
    get:
      tags:
      - Deployments
      summary: Get certificate based remote clusters
      description: Returns the list of certificate based remote clusters for the elasticsearch
        resource.
      operationId: get-deployment-es-resource-remote-clusters
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '200':
          description: List of certificate based remote clusters for the resource
          schema:
            "$ref": "#/definitions/RemoteResources"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Remote Clusters
    put:
      tags:
      - Deployments
      summary: Set certificate based remote clusters
      description: Overwrites or creates the list of certificate based remote clusters
        for the elasticsearch resource.
      operationId: set-deployment-es-resource-remote-clusters
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - in: body
        name: body
        description: List of certificate based remote clusters for the resource
        required: true
        schema:
          "$ref": "#/definitions/RemoteResources"
      responses:
        '202':
          description: The Remote Clusters were updated
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Remote Clusters
  "/deployments/{deployment_id}/enterprise_search/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment Enterprise Search Resource Info
      description: Get info about an Enterprise Search Resource belonging to a given
        Deployment.
      operationId: get-deployment-enterprise-search-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/EnterpriseSearchResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/heap_dumps":
    get:
      tags:
      - Deployments
      summary: Get details about heap dumps for a Deployment
      description: Gets details about existing heap dumps and in progress heap dump
        captures across all instances belonging to the deployment.
      operationId: get-deployment-heap-dumps
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      responses:
        '200':
          description: The heap dump details for all instances belonging to the deployment
          schema:
            "$ref": "#/definitions/DeploymentHeapDumps"
        '404':
          description: 'The deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/integrations_server/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment Integrations Server Resource Info
      description: Get info about an Integrations Server Resource belonging to a given
        Deployment.
      operationId: get-deployment-integrations-server-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/IntegrationsServerResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/kibana/{ref_id}":
    get:
      tags:
      - Deployments
      summary: Get Deployment Kibana Resource Info
      description: Get info about a Kibana Resource belonging to a given Deployment.
      operationId: get-deployment-kib-resource-info
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: show_metadata
        in: query
        description: Whether to include the full cluster metadata in the response
          - can be large per cluster and also include credentials.
        required: false
        type: boolean
        default: false
      - name: show_plans
        in: query
        description: Whether to include the full current and pending plan information
          in the response - can be large per cluster.
        required: false
        type: boolean
        default: true
      - name: show_plan_logs
        in: query
        description: Whether to include with the current and pending plan information
          the attempt log - can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_history
        in: query
        description: Whether to include with the current and pending plan information
          the plan history- can be very large per cluster.
        required: false
        type: boolean
        default: false
      - name: show_plan_defaults
        in: query
        description: If showing plans, whether to show values that are left at their
          default value (less readable but more informative).
        required: false
        type: boolean
        default: false
      - name: convert_legacy_plans
        in: query
        description: If showing plans, whether to leave pre-2.0.0 plans in their legacy
          format (the default), or whether to update them to 2.0.x+ format (if 'true').
        required: false
        type: boolean
        default: false
      - name: show_settings
        in: query
        description: Whether to show cluster settings in the response.
        required: false
        type: boolean
        default: false
      - name: clear_transient
        in: query
        description: If set (defaults to false) then removes the transient section
          from all child resources, making it safe to reapply via an update
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response.
          schema:
            "$ref": "#/definitions/KibanaResourceInfo"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Info
  "/deployments/{deployment_id}/migrate_template":
    get:
      tags:
      - Deployments
      summary: Build request to migrate deployment to a different template
      description: Returns a deployment update request that would migrate this deployment
        to a different template.
      operationId: migrate-deployment-template
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: template_id
        in: query
        description: The ID of the deployment template to migrate to
        required: true
        type: string
      responses:
        '200':
          description: The request was valid and the deployment can be migrated to
            the template with the provided ID.
          schema:
            "$ref": "#/definitions/DeploymentUpdateRequest"
        '400':
          description: The deployment cannot be successfully migrated to the template
            with the provided ID.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - CRUD
  "/deployments/{deployment_id}/upgrade_assistant/status":
    get:
      tags:
      - Deployments
      summary: Get Deployment upgrade assistant status
      description: Get details about an Elasticsearch resource belonging to a given
        deployment.
      operationId: get-deployment-upgrade-assistant-status
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      responses:
        '200':
          description: The Upgrade Assistant returned the status successfully
          schema:
            "$ref": "#/definitions/DeploymentUpgradeAssistantStatusResponse"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Upgrade Assistant
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/_restore":
    post:
      tags:
      - Deployments
      summary: Restores a shutdown resource
      description: Restores a shutdown resource belonging to a given Deployment.
      operationId: restore-deployment-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: restore_snapshot
        in: query
        description: Whether or not to restore a snapshot for those resources that
          allow it.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard Deployment Resource Crud Response
          schema:
            "$ref": "#/definitions/DeploymentResourceCrudResponse"
        '400':
          description: |-
            * The Resource does not have a pending plan. (code: `deployments.resource_does_not_have_a_pending_plan`)
            * The resource is not shut down. (code: `deployments.resource_not_shutdown`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resource_does_not_have_a_pending_plan
              - deployments.resource_not_shutdown
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/activity/{attempt_id}":
    get:
      tags:
      - Deployments
      summary: Get plan activity
      description: Retrieves details for a single plan activity for the given resource.
      operationId: get-deployment-resource-plan-activity
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: attempt_id
        in: path
        description: Attempt id for the activity
        required: true
        type: string
      responses:
        '200':
          description: Returning the single plan activity for the specified resource
          schema:
            "$ref": "#/definitions/CommonClusterPlanInfo"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Plan - Activity
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/diagnostics/_capture":
    post:
      tags:
      - Deployments
      summary: Capture diagnostics for an Elasticsearch or Kibana resource
      description: Retrieves a diagnostic bundle from an active cluster. To successfully
        retrieve a diagnostic bundle, the cluster must be responsive.
      operationId: capture-deployment-resource-diagnostics
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch or kibana).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: mode
        in: query
        description: Capture mode - whether to obtain all the diagnostics data or
          the lightweight, essential-only subset of it. Applicable only to Elasticsearch,
          ignored for any other components which have just one capture mode implemented.
        required: false
        type: string
        default: full
        enum:
        - full
        - light
      responses:
        '200':
          description: The diagnostic bundle as a zip file
          schema:
            type: string
            format: byte
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '412':
          description: 'The diagnostics cannot be generated because the cluster is
            either stopped or initializing. (code: `clusters.cluster_plan_state_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.cluster_plan_state_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Diagnostics
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_start":
    post:
      tags:
      - Deployments
      summary: Start all instances
      description: Starts all instances belonging to a Deployment Resource.
      operationId: start-deployment-resource-instances-all
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '202':
          description: The start command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop":
    post:
      tags:
      - Deployments
      summary: Stop all instances
      description: Stops all instances belonging to a Deployment Resource.
      operationId: stop-deployment-resource-instances-all
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '202':
          description: The stop command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The stop maintenance mode command was prohibited for the given
            Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_start":
    post:
      tags:
      - Deployments
      summary: Start maintenance mode (all instances)
      description: Starts maintenance mode of all instances belonging to a Deployment
        Resource.
      operationId: start-deployment-resource-instances-all-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '202':
          description: The start maintenance command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_stop":
    post:
      tags:
      - Deployments
      summary: Stop maintenance mode (all instances)
      description: Stops maintenance mode of all instances belonging to a Deployment
        Resource.
      operationId: stop-deployment-resource-instances-all-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      responses:
        '202':
          description: The stop maintenance mode command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The stop maintenance mode command was prohibited for the given
            Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/overrides":
    put:
      tags:
      - Deployments
      summary: Set size overrides
      description: Applies size overrides for all of the instances belonging to the
        given resource. Instance size overrides will be reset with the next plan change.
      operationId: set-all-instances-settings-overrides
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource. Only Elasticsearch resources are currently
          supported.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: restart_after_update
        in: query
        description: After overrides are set, restarts the instance to apply the changes.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: The overrides to apply to all instances. Capacity overrides the
          RAM size in MB of the instance, and storage multipler overrides the multiplier
          of the instance RAM size that determines the storage quota of the instance.
          Capacity must be in the range [1024, 65536] and storage multiplier must
          be in the range [1.0, 1000.0].
        required: true
        schema:
          "$ref": "#/definitions/InstanceOverrides"
      responses:
        '200':
          description: The updated overrides
          schema:
            "$ref": "#/definitions/InstanceOverrides"
        '404':
          description: |-
            * The deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot by found. (code: `deployments.deployment_resource_not_found`)
            * The specified override was out of range. Capacity must be in the range [1024, 65536] and storage multiplier must be in the range [1.0, 1000.0]. (code: `instance_overrides.out_of_range`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - instance_overrides.out_of_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_start":
    post:
      tags:
      - Deployments
      summary: Start instances
      description: Starts instances belonging to a Deployment Resource.
      operationId: start-deployment-resource-instances
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: ignore_missing
        in: query
        description: If true and the instance does not exist then quietly proceed
          to the next instance, otherwise treated as an error
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The start command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_stop":
    post:
      tags:
      - Deployments
      summary: Stop instances
      description: Stops instances belonging to a Deployment Resource.
      operationId: stop-deployment-resource-instances
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: ignore_missing
        in: query
        description: If true and the instance does not exist then quietly proceed
          to the next instance, otherwise treated as an error.
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The stop command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_start":
    post:
      tags:
      - Deployments
      summary: Start maintenance mode
      description: Starts maintenance mode of instances belonging to a Deployment
        Resource.
      operationId: start-deployment-resource-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: ignore_missing
        in: query
        description: If true and the instance does not exist then quietly proceed
          to the next instance, otherwise treated as an error.
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The start maintenance command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_stop":
    post:
      tags:
      - Deployments
      summary: Stop maintenance mode
      description: Stops maintenance mode of instances belonging to a Resource.
      operationId: stop-deployment-resource-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: ignore_missing
        in: query
        description: If true and the instance does not exist then quietly proceed
          to the next instance, otherwise treated as an error.
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The stop maintenance mode command was issued successfully.
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '403':
          description: 'The stop maintenance mode command was prohibited for the given
            Resource. (code: `deployments.instance_update_prohibited_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.instance_update_prohibited_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances of the given resource type are missing. (code: `deployments.instances_missing_on_update_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'A Resource that was previously stored no longer exists. (code:
            `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/overrides":
    put:
      tags:
      - Deployments
      summary: Set size overrides
      description: Applies size overrides for the given instances belonging to the
        given resource. Instance size overrides will be reset with the next plan change.
      operationId: set-instance-settings-overrides
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource. Only Elasticsearch resources are currently
          supported.
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_ids
        in: path
        description: A comma-separated list of instance identifiers.
        required: true
        type: array
        items:
          type: string
        collectionFormat: csv
      - name: restart_after_update
        in: query
        description: After overrides are set, restarts the instance to apply the changes.
        required: false
        type: boolean
        default: false
      - name: ignore_missing
        in: query
        description: When `false` and a specified instance is missing, will return
          an error and not update any instances. When `true` will update only existing
          instances and not treat a missing instance as an error.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: The overrides to apply to the given instances. Capacity overrides
          the RAM size in MB of the instance, and storage multipler overrides the
          multiplier of the instance RAM size that determines the storage quota of
          the instance. Capacity must be in the range [1024, 65536] and storage multiplier
          must be in the range [1.0, 1000.0].
        required: true
        schema:
          "$ref": "#/definitions/InstanceOverrides"
      responses:
        '200':
          description: The updated overrides
          schema:
            "$ref": "#/definitions/InstanceOverrides"
        '404':
          description: |-
            * The deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot by found. (code: `deployments.deployment_resource_not_found`)
            * One or more instances weren't found, and `ignore_missing` is false or unspecified. (code: `deployments.instances_missing_on_update_error`)
            * The specified override was out of range. Capacity must be in the range [1024, 65536] and storage multiplier must be in the range [1.0, 1000.0]. (code: `instance_overrides.out_of_range`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instances_missing_on_update_error
              - instance_overrides.out_of_range
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_id}/heap_dump/_capture":
    post:
      tags:
      - Deployments
      summary: Capture a new on-demand heap dump for the given instance
      description: Captures a new on-demand heap dump for the given instance. The
        capture is completed asynchronously, and you can check its progress by getting
        heap dumps for the given resource.
      operationId: capture-deployment-instance-heap-dump
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana or apm).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_id
        in: path
        description: The instance identifier
        required: true
        type: string
      responses:
        '202':
          description: Indicates that the capture has started
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The specified instance cannot be found. (code: `deployments.instance_not_found_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instance_not_found_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_id}/heap_dump/_download":
    get:
      tags:
      - Deployments
      summary: Download the given instance's heap dump
      description: Returns the given instance's heap dump for download.
      operationId: download-deployment-instance-heap-dump
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana or apm).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_id
        in: path
        description: The instance identifier
        required: true
        type: string
      responses:
        '200':
          description: The given instance's heap dump
          schema:
            type: string
            format: byte
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The specified instance cannot be found. (code: `deployments.instance_not_found_error`)
            * The specified instance does not have a heap dump available to download. (code: `heap_dumps.heap_dump_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instance_not_found_error
              - heap_dumps.heap_dump_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_id}/thread_dump/_capture":
    post:
      tags:
      - Deployments
      summary: Capture a new thread dump for the given instance
      description: Captures a new thread dump for the given instance and returns the
        thread dump contents.
      operationId: capture-deployment-instance-thread-dump
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource (one of elasticsearch, kibana or apm).
        required: true
        type: string
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: instance_id
        in: path
        description: The instance identifier
        required: true
        type: string
      responses:
        '200':
          description: The thread dump contents
          schema:
            type: string
            format: byte
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The specified instance cannot be found. (code: `deployments.instance_not_found_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - deployments.instance_not_found_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/metadata/raw":
    post:
      tags:
      - Deployments
      summary: Set a Deployment's resource metadata
      description: |-
        Advanced use only. Sets the internal metadata, in free-form JSON, for the resource.
        Only use the parameter to set the modified JSON that is returned from the get version of the metadata.
      operationId: set-deployment-resource-raw-metadata
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: version
        in: query
        description: If specified, checks for conflicts against the metadata version
          (returned in 'x-cloud-resource-version' of the GET request)
        required: false
        type: string
      - in: body
        name: body
        description: The freeform JSON for the cluster (should always be based on
          the current version retrieved from the GET)
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The resource metadata was successfully changed (the updated
            JSON is returned)
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            type: string
        '400':
          description: 'The metadata is invalid. (code: `deployments.invalid_metadata`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.invalid_metadata
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '449':
          description: 'Please retry. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
    patch:
      tags:
      - Deployments
      summary: Patch a Deployment's resource metadata
      description: Advanced use only. Patches the internal metadata with the given
        data.
      operationId: patch-deployment-resource-raw-metadata
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - in: body
        name: body
        description: The data that should be patched into the metadata.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The resource metadata was successfully changed (the updated
            JSON is returned)
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            type: string
        '400':
          description: 'The metadata is invalid. (code: `deployments.invalid_metadata`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.invalid_metadata
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '449':
          description: 'Please retry. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.metadata_internal_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.metadata_internal_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/plan/pending":
    delete:
      tags:
      - Deployments
      summary: Cancel resource pending plan
      description: Cancels the pending plan of a Resource belonging to a given Deployment.
      operationId: cancel-deployment-resource-pending-plan
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: force_delete
        in: query
        description: When `true`, deletes the pending plan instead of attempting a
          graceful cancellation. The default is `false`.
        required: false
        type: boolean
        default: false
      - name: ignore_missing
        in: query
        description: When `true`, returns successfully, even when plans are missing.
          The default is `false`.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard Deployment Resource Crud Response
          schema:
            "$ref": "#/definitions/DeploymentResourceCrudResponse"
        '400':
          description: 'The Resource does not have a pending plan. (code: `deployments.resource_does_not_have_a_pending_plan`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resource_does_not_have_a_pending_plan
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The Deployment specified by {deployment_id} cannot be found.
            (code: `deployments.deployment_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
  "/deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}":
    get:
      tags:
      - Deployments
      summary: Proxy HTTP GET request
      description: 'Proxies the HTTP GET request to the deployment resource. You must
        specify the `X-Management-Request` HTTP header. NOTE: Use this endpoint for
        management purposes. It does not provide high performance.'
      operationId: get-deployment-resource-proxy-requests
      consumes:
      - application/text
      - application/json
      - application/x-ndjson
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - enterprise_search
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: proxy_path
        in: path
        description: 'The URL part to proxy to the deployment resource. Example: _cat/indices,
          /api/spaces/space or /api/ent/v1/internal/health'
        required: true
        type: string
      - name: X-Management-Request
        in: header
        description: 'You must specify the `X-Management-Request` HTTP header with
          value `true`. NOTE: Use this endpoint for management purposes. It does not
          provide high performance.'
        required: true
        type: string
      - in: body
        name: body
        description: The JSON payload to proxy to the deployment resource.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has been processed successfully through the proxy.
          schema:
            "$ref": "#/definitions/GenericResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `clusters.cluster_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - clusters.cluster_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - Proxy
    post:
      tags:
      - Deployments
      summary: Proxy HTTP POST request
      description: 'Proxies the HTTP POST request to the deployment resource. You
        must specify the `X-Management-Request` HTTP header. NOTE: Use this endpoint
        for management purposes. It does not provide high performance.'
      operationId: post-deployment-resource-proxy-requests
      consumes:
      - application/text
      - application/json
      - application/x-ndjson
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - enterprise_search
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: proxy_path
        in: path
        description: 'The URL part to proxy to the deployment resource. Example: _cat/indices,
          /api/spaces/space or /api/ent/v1/internal/health'
        required: true
        type: string
      - name: X-Management-Request
        in: header
        description: 'You must specify the `X-Management-Request` HTTP header with
          value `true`. NOTE: Use this endpoint for management purposes. It does not
          provide high performance.'
        required: true
        type: string
      - in: body
        name: body
        description: The JSON payload to proxy to the deployment resource.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has been processed successfully through the proxy.
          schema:
            "$ref": "#/definitions/GenericResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `clusters.cluster_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - clusters.cluster_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - Proxy
    put:
      tags:
      - Deployments
      summary: Proxy HTTP PUT request
      description: 'Proxies the HTTP PUT request to the deployment resource. You must
        specify the `X-Management-Request` HTTP header. NOTE: Use this endpoint for
        management purposes. It does not provide high performance.'
      operationId: put-deployment-resource-proxy-requests
      consumes:
      - application/text
      - application/json
      - application/x-ndjson
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - enterprise_search
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: proxy_path
        in: path
        description: 'The URL part to proxy to the deployment resource. Example: _cat/indices,
          /api/spaces/space or /api/ent/v1/internal/health'
        required: true
        type: string
      - name: X-Management-Request
        in: header
        description: 'You must specify the `X-Management-Request` HTTP header with
          value `true`. NOTE: Use this endpoint for management purposes. It does not
          provide high performance.'
        required: true
        type: string
      - in: body
        name: body
        description: The JSON payload to proxy to the deployment resource.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has been processed successfully through the proxy.
          schema:
            "$ref": "#/definitions/GenericResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `clusters.cluster_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - clusters.cluster_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - Proxy
    delete:
      tags:
      - Deployments
      summary: Proxy HTTP DELETE request
      description: 'Proxies the HTTP DELETE request to the deployment resource. You
        must specify the `X-Management-Request` HTTP header. NOTE: Use this endpoint
        for management purposes. It does not provide high performance.'
      operationId: delete-deployment-resource-proxy-requests
      consumes:
      - application/text
      - application/json
      - application/x-ndjson
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: resource_kind
        in: path
        description: The kind of resource
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - enterprise_search
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      - name: proxy_path
        in: path
        description: 'The URL part to proxy to the deployment resource. Example: _cat/indices,
          /api/spaces/space or /api/ent/v1/internal/health'
        required: true
        type: string
      - name: X-Management-Request
        in: header
        description: 'You must specify the `X-Management-Request` HTTP header with
          value `true`. NOTE: Use this endpoint for management purposes. It does not
          provide high performance.'
        required: true
        type: string
      - in: body
        name: body
        description: The JSON payload to proxy to the deployment resource.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has been processed successfully through the proxy.
          schema:
            "$ref": "#/definitions/GenericResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `clusters.cluster_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
              - clusters.cluster_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - Proxy
  "/deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}":
    delete:
      tags:
      - Deployments
      summary: Delete Stateless Resource from Deployment
      description: Delete Stateless Resource belonging to a given Deployment. Deployment
        must be shutdown already.
      operationId: delete-deployment-stateless-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment
        required: true
        type: string
      - name: stateless_resource_kind
        in: path
        description: The kind of stateless resource
        required: true
        type: string
        enum:
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one)
        required: true
        type: string
      responses:
        '200':
          description: Standard Deployment Resource Crud Response
          schema:
            "$ref": "#/definitions/DeploymentResourceCrudResponse"
        '400':
          description: 'Resource has still instances. (code: `deployments.resource_has_instances`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.resource_has_instances
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment Resources - CRUD
  "/deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_restart":
    post:
      tags:
      - Deployments
      summary: Restart Deployment Stateless Resource
      description: 'Restarts a Stateless Resource. If a Resource is active: this command
        re-applies the existing plan but applies a "cluster_reboot", which issues
        a restart command and waits for it to complete. If a Resource is inactive:
        this command starts it up with the most recent successful plan.'
      operationId: restart-deployment-stateless-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: stateless_resource_kind
        in: path
        description: The kind of stateless resource
        required: true
        type: string
        enum:
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: cancel_pending
        in: query
        description: If true, cancels any pending plans before restarting. If false
          and there are pending plans, returns an error.
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The restart command was issued successfully
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '422':
          description: 'The command sent to a Resource found the Resource in an illegal
            state, the error message gives more details. (code: `deployments.deployment_resource_plan_change_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_plan_change_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_shutdown":
    post:
      tags:
      - Deployments
      summary: Shutdown Deployment Stateless Resource
      description: |-
        Shut down Stateless Resource belonging to a given Deployment.
        Kibana cannot be shut down on Elasticsearch Service as it is required for Elasticsearch administrative functions, such as Snapshot Lifecycle Management and version upgrades.
      operationId: shutdown-deployment-stateless-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: stateless_resource_kind
        in: path
        description: The kind of stateless resource
        required: true
        type: string
        enum:
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: hide
        in: query
        description: Hide cluster on shutdown. Hidden clusters are not listed by default.
          Only applicable for Platform administrators.
        required: false
        type: boolean
      - name: skip_snapshot
        in: query
        description: If true, will skip taking a snapshot of the cluster before shutting
          the cluster down (if even possible)
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Standard response
          schema:
            "$ref": "#/definitions/DeploymentResourceCommandResponse"
        '400':
          description: 'Parameter is restricted and can only be set by a Platform
            administrator. (code: `deployments.restricted_parameter`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.restricted_parameter
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'We have failed you. (code: `deployments.deployment_resource_no_longer_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_resource_no_longer_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade":
    post:
      tags:
      - Deployments
      summary: Upgrade Kibana, APM, Integrations Server, AppSearch, Enterprise Search
        inside Deployment
      description: |-
        > WARNING
        > This endpoint is deprecated and scheduled to be removed in the next major version. Use [Update deployment](#update-deployment) instead.

        Upgrades a running cluster.
      operationId: upgrade-deployment-stateless-resource
      produces:
      - application/json
      parameters:
      - name: deployment_id
        in: path
        description: Identifier for the Deployment.
        required: true
        type: string
      - name: stateless_resource_kind
        in: path
        description: The kind of stateless resource
        required: true
        type: string
        enum:
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: ref_id
        in: path
        description: User-specified RefId for the Resource (or '_main' if there is
          only one).
        required: true
        type: string
      - name: validate_only
        in: query
        description: When `true`, returns the update version without performing the
          upgrade
        required: false
        type: boolean
        default: false
      responses:
        '202':
          description: The upgrade command was issued successfully. Use the "GET"
            command on the /{deployment_id} resource to monitor progress
          schema:
            "$ref": "#/definitions/DeploymentResourceUpgradeResponse"
        '404':
          description: |-
            * The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
            * The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - deployments.deployment_not_found
              - deployments.deployment_resource_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Deployment - Commands
  "/organizations":
    get:
      tags:
      - Organizations
      - IamService
      summary: List organizations
      description: Fetch organizations available to the current user. Currently unavailable
        in self-hosted ECE.
      operationId: list-organizations
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Organizations fetched successfully
          schema:
            "$ref": "#/definitions/OrganizationList"
        '401':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/invitations/{invitation_token}":
    get:
      tags:
      - Organizations
      - IamService
      summary: Get organization invitation
      description: Gets a single invitation to an organization by token. Currently
        unavailable in self-hosted ECE.
      operationId: get-organization-invitation
      produces:
      - application/json
      parameters:
      - name: invitation_token
        in: path
        description: Organization invitation token
        required: true
        type: string
      responses:
        '200':
          description: Organization invitation fetched successfully
          schema:
            "$ref": "#/definitions/OrganizationInvitation"
        '404':
          description: 'Invitation not found. (code: `organization.invitation_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invitation_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/invitations/{invitation_token}/_accept":
    post:
      tags:
      - Organizations
      - IamService
      summary: Accept an organization invitation
      description: Accepts an organization invitation. Currently unavailable in self-hosted
        ECE.
      operationId: accept-organization-invitation
      produces:
      - application/json
      parameters:
      - name: invitation_token
        in: path
        description: Organization invitation token
        required: true
        type: string
      responses:
        '200':
          description: Organization invitation accepted successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'User already belongs to organization. (code: `organization.user_organization_already_belongs`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.user_organization_already_belongs
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user authentication is not valid. (code: `root.invalid_authentication`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.invalid_authentication
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * Organization not found. (code: `organization.not_found`)
            * User not found. (code: `user.not_found`)
            * Invitation not found. (code: `organization.invitation_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
              - user.not_found
              - organization.invitation_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/{organization_id}":
    get:
      tags:
      - Organizations
      - IamService
      summary: Fetch organization information
      description: Fetch a single organization by id. Currently unavailable in self-hosted
        ECE.
      operationId: get-organization
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      responses:
        '200':
          description: Organization fetched successfully
          schema:
            "$ref": "#/definitions/Organization"
        '401':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
    put:
      tags:
      - Organizations
      - IamService
      summary: Update organization
      description: |-
        > WARNING
        > This endpoint is deprecated and scheduled to be removed in the next major version.

        Updates an existing organization. Currently unavailable in self-hosted ECE.
      operationId: update-organization
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      - in: body
        name: body
        description: The organization to update
        required: true
        schema:
          "$ref": "#/definitions/OrganizationRequest"
      responses:
        '200':
          description: Organization updated successfully
          schema:
            "$ref": "#/definitions/Organization"
        '400':
          description: |-
            * Name must be between 2 and 30 characters. (code: `organization.invalid_name`)
            * User already has an organization. (code: `organization.user_organization_already_exists`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_name
              - organization.user_organization_already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user does not have access to the requested organization.
            (code: `organization.invalid_access`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invalid_access
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/{organization_id}/invitations":
    get:
      tags:
      - Organizations
      - IamService
      summary: List organization invitations
      description: Fetch open invitations to the selected organization. Currently
        unavailable in self-hosted ECE.
      operationId: list-organization-invitations
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      responses:
        '200':
          description: Organization invitations fetched successfully
          schema:
            "$ref": "#/definitions/OrganizationInvitations"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
    post:
      tags:
      - Organizations
      - IamService
      summary: Create organization invitations
      description: Creates or refreshes organization invitations. Currently unavailable
        in self-hosted ECE.
      operationId: create-organization-invitations
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      - in: body
        name: body
        description: The organization invitations to create or refresh
        required: true
        schema:
          "$ref": "#/definitions/OrganizationInvitationRequest"
      responses:
        '201':
          description: Organization invitations created successfully
          schema:
            "$ref": "#/definitions/OrganizationInvitations"
        '400':
          description: |-
            * Invitation email was not valid. (code: `organization.invitation_invalid_email`)
            * Invitation already sent. (code: `organization.invitation_already_exists`)
            * User already belongs to organization. (code: `organization.user_organization_already_belongs`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invitation_invalid_email
              - organization.invitation_already_exists
              - organization.user_organization_already_belongs
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The current user authentication is not valid. (code: `root.invalid_authentication`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.invalid_authentication
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * Organization not found. (code: `organization.not_found`)
            * User not found. (code: `user.not_found`)
            * Invitation sender does not belong to organization. (code: `organization.user_organization_does_not_belong`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
              - user.not_found
              - organization.user_organization_does_not_belong
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '429':
          description: 'Request exceeds organization invitation creation rate limits.
            (code: `organization.invitations_rate_limit_exceeded`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.invitations_rate_limit_exceeded
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/{organization_id}/invitations/{invitation_tokens}":
    delete:
      tags:
      - Organizations
      - IamService
      summary: Delete organization invitations
      description: Deletes one or more organization invitations. Currently unavailable
        in self-hosted ECE.
      operationId: delete-organization-invitations
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      - name: invitation_tokens
        in: path
        description: CSV list of Invitation tokens
        required: true
        type: string
      responses:
        '200':
          description: Organization invitations deleted successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'No valid invitation token was supplied. (code: `root.invalid_data`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.invalid_data
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * Organization not found. (code: `organization.not_found`)
            * Invitation not found. (code: `organization.invitation_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
              - organization.invitation_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/{organization_id}/members":
    get:
      tags:
      - Organizations
      - IamService
      summary: List organization members
      description: Fetch users belonging to the selected organization. Currently unavailable
        in self-hosted ECE.
      operationId: list-organization-members
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      responses:
        '200':
          description: Organization members fetched successfully
          schema:
            "$ref": "#/definitions/OrganizationMemberships"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/organizations/{organization_id}/members/{user_ids}":
    delete:
      tags:
      - Organizations
      - IamService
      summary: Delete organization memberships
      description: Deletes one or more organization memberships. Currently unavailable
        in self-hosted ECE.
      operationId: delete-organization-memberships
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: path
        description: Identifier for the Organization
        required: true
        type: string
      - name: user_ids
        in: path
        description: CSV list of User identifiers
        required: true
        type: string
      - name: force
        in: query
        description: Whether or not to force the removal of Org memberships (effective
          only for Platform Admins)
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Organization membership deleted successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: |-
            * User not found. (code: `user.not_found`)
            * Organization not found. (code: `organization.not_found`)
            * Organization membership not found. (code: `organization.membership_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
              - organization.not_found
              - organization.membership_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Organizations
  "/phone-home/config":
    get:
      tags:
      - Telemetry
      summary: Get ECE telemetry config
      description: Returns whether ECE telemetry is enabled.
      operationId: get-telemetry-config
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The current ECE telemetry configuration
          schema:
            "$ref": "#/definitions/TelemetryConfig"
        '403':
          description: 'User must have Platform level permissions. (code: `root.unauthorized.rbac`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized.rbac
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Telemetry
    put:
      tags:
      - Telemetry
      summary: Set ECE telemetry config
      description: Sets whether to enable ECE telemetry.
      operationId: set-telemetry-config
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The desired ECE telemetry configuration
        required: true
        schema:
          "$ref": "#/definitions/TelemetryConfigRequest"
      responses:
        '200':
          description: Telemetry configuration updated successfully
          schema:
            "$ref": "#/definitions/TelemetryConfig"
        '403':
          description: 'User must have Platform level permissions. (code: `root.unauthorized.rbac`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized.rbac
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The telemetry configuration did not exist so there was an
            attempt to create one. Another request resulted in the creation of a telemetry
            configuration before this request completed, resulting in the failure
            of this request to create a configuration. Please retry. (code: `telemetry.already_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - telemetry.already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'Failed to set the configuration due to an internal server
            error. (code: `telemetry.request_execution_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - telemetry.request_execution_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Telemetry
  "/platform":
    get:
      tags:
      - Platform
      summary: Get platform info
      description: Retrieves information about the active platform.
      operationId: get-platform
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The platform information is retrieved.
          schema:
            "$ref": "#/definitions/PlatformInfo"
      x-doc:
        tag: Platform
  "/platform/configuration/api_base_url":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get API base Url
      description: Gets the API base Url configuration value.
      operationId: get-api-base-url
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The API base Url was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ApiBaseUrlData"
        '404':
          description: 'There is no configured API base value but optimistic locking
            was sent. (code: `adminconsole.base_url.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsole.base_url.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '500':
          description: 'The persisted Url is malformed. (code: `adminconsole.base_url.invalid_persisted_data`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsole.base_url.invalid_persisted_data
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: API - Base Url
    put:
      tags:
      - PlatformInfrastructure
      summary: Set API base Url
      description: Saves the API base Url configuration value.
      operationId: set-api-base-url
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: query
        description: If specified, then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request). If not specified, will unconditionally upsert.
        required: false
        type: string
      - name: skip_cascading_operations
        in: query
        description: Whether or not to skip cascading operations, such as re-provisioning
          the Security Deployment.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Data containing the base Url to set
        required: true
        schema:
          "$ref": "#/definitions/ApiBaseUrlData"
      responses:
        '200':
          description: The API base Url was successfully saved.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ApiBaseUrlData"
        '400':
          description: 'The optimistic locking version format was wrong. (code: `adminconsole.base_url.bad_version_format`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsole.base_url.bad_version_format
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'There is no configured API base value but optimistic locking
            was sent. (code: `adminconsole.base_url.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsole.base_url.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There was an optimistic locking version conflict. (code: `adminconsole.base_url.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsole.base_url.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '412':
          description: 'skip_cascading_operations was false but the Security Deployment
            already had a pending plan. (code: `security_deployment.cluster_pending_plan_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.cluster_pending_plan_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: API - Base Url
  "/platform/configuration/instances":
    get:
      tags:
      - PlatformConfigurationInstances
      summary: Get instance configurations
      description: Get instance configurations.
      operationId: get-instance-configurations
      parameters:
      - name: show_deleted
        in: query
        description: If true, instance configurations marked for deletions are also
          returned. Otherwise, only instance configurations not marked for deletion
          are returned
        required: false
        type: boolean
      - name: show_max_zones
        in: query
        description: If true, will populate the max_zones field of the instance configurations.
        required: false
        type: boolean
        default: false
      - name: include_versions
        in: query
        description: If true, will return all existing versions of each instance configuration.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: A InstanceConfiguration
          schema:
            type: array
            items:
              "$ref": "#/definitions/InstanceConfiguration"
      x-doc:
        tag: Platform - Configuration - Instances - CRUD
    post:
      tags:
      - PlatformConfigurationInstances
      summary: Create instance configuration
      description: Create instance configuration and return the auto-generated ID.
      operationId: create-instance-configuration
      parameters:
      - in: body
        name: instance
        description: the Instance Configuration
        required: true
        schema:
          "$ref": "#/definitions/InstanceConfiguration"
      responses:
        '201':
          description: Instance Configuration added with the auto generated ID returned
          schema:
            "$ref": "#/definitions/VersionedIdResponse"
        '400':
          description: 'cluster_type in the InstanceConfiguration model is invalid
            (code: ''configuration.invalid_cluster_type'') or the discrete_sizes in
            the InstanceConfiguration model is invalid (code: ''configuration.invalid_discrete_sizes'')
            or the metadata in the InstanceConfiguration model has empty keys or values
            (code: ''configuration.bad_meta_data'') '
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'system_owned or deleted_on cannot be set externally (code:
            ''configuration.system_owned'') '
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Instances - CRUD
  "/platform/configuration/instances/{id}":
    get:
      tags:
      - PlatformConfigurationInstances
      summary: Get instance configuration
      description: Get instance configuration by id.
      operationId: get-instance-configuration
      parameters:
      - name: id
        in: path
        description: ID of the instance configuration
        required: true
        type: string
      - name: config_version
        in: query
        description: Optionally retrieve the specified config version of the IC (otherwise
          retrieves the latest/only version)
        required: false
        type: integer
      - name: show_deleted
        in: query
        description: If true, if the instance configuration has been marked for deletion
          it is still returned. Otherwise, instance configurations marked for deletion
          generate a 404
        required: false
        type: boolean
      - name: show_max_zones
        in: query
        description: If true, will populate the max_zones field of the instance configuration.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: An InstanceConfiguration
          schema:
            "$ref": "#/definitions/InstanceConfiguration"
        '404':
          description: 'Instance configuration specified by {id} cannot be found (code:
            ''configuration.instance_configuration_not_found'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Instances - CRUD
    put:
      tags:
      - PlatformConfigurationInstances
      summary: Set instance configuration
      description: Creates or updates an instance configuration.
      operationId: set-instance-configuration
      parameters:
      - name: id
        in: path
        description: ID of the instance configuration
        required: true
        type: string
      - in: body
        name: instance
        description: the Instance Configuration
        required: true
        schema:
          "$ref": "#/definitions/InstanceConfiguration"
      - name: version
        in: query
        description: This is a database-level field, not related to the application-level
          'config_version', except as described in the following docs. If specified,
          checks for conflicts against 'x-cloud-resource-version' from the GET request
          (where the 'config_version' in the GET should match the the 'configuration_version'
          in the PUT body if the IC is configuration controlled).
        required: false
        type: integer
      - name: config_control
        in: query
        description: If true, then an update that changes immutable fields will create
          a new version of the IC (leaving the previous ones accessible via 'config_version').
          Otherwise such updates will fail.
        required: false
        type: boolean
      - name: test_config
        in: query
        description: 'If true, The IC is added as a test version (set ''instance_config_version'':
          -1 in the deployment request to reference), leaving the existing IC alone.
          Will error if the IC doesn''t already exist.'
        required: false
        type: boolean
      - name: strict_mode
        in: query
        description: If true, then allocator_filter and storage_multiplier cannot
          be changed in an existing IC. Defaults to false unless config_control is
          true (in which case a new version is created)
        required: false
        type: boolean
      - name: create_only
        in: query
        description: If true, will fail if an instance configuration already exists
          at the given id
        required: false
        type: boolean
      responses:
        '200':
          description: The instance configuration was updated successfully.
          schema:
            "$ref": "#/definitions/VersionedIdResponse"
        '201':
          description: The instance configuration was created successfully.
          schema:
            "$ref": "#/definitions/VersionedIdResponse"
        '400':
          description: 'cluster_type in the InstanceConfiguration model is invalid
            (code: ''configuration.invalid_cluster_type'') or the ZooKeeper operation
            failed due to bad version, etc. (code: ''configuration.instance_configuration_update_failed'')
            or the id in the InstanceConfiguration model is reserved/prohibited (code:
            ''configuration.configuration_id_reserved'') or the discrete_sizes in
            the InstanceConfiguration model is invalid (code: ''configuration.invalid_discrete_sizes'')
            or the metadata in the InstanceConfiguration model has empty keys or values
            (code: ''configuration.bad_meta_data'') '
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'system_owned or deleted_on cannot be set externally (code:
            ''configuration.system_owned'') '
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Instance configuration specified by {id} cannot be found or
            the operation failed (code: ''configuration.instance_configuration_not_found'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Instances - CRUD
    delete:
      tags:
      - PlatformConfigurationInstances
      summary: Delete a instance configuration
      description: Delete the instance configuration with the given id.
      operationId: delete-instance-configuration
      parameters:
      - name: id
        in: path
        description: ID of the instance configuration
        required: true
        type: string
      - name: version
        in: query
        description: This is a database-level field, not related to the application-level
          'config_version', except as described in the following docs. If specified,
          checks for conflicts against 'x-cloud-resource-version' from the GET request
          (the GET's 'config_version' should be left blank if the IC is configuration
          controlled, ie to get the latest configuration)
        required: false
        type: integer
      - name: only_test_version
        in: query
        description: If true, the testing version (version -1) will be permanently
          deleted but the latest IC version will remain untouched. Defaults to false
        required: false
        type: boolean
      responses:
        '200':
          description: Instance configuration specified by {id} was deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '403':
          description: 'Instance configuration specified by {id} is system owned (code:
            ''configuration.system_owned'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Instance configuration specified by {id} cannot be found or
            the operation failed (code: ''configuration.instance_configuration_not_found'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Instances - CRUD
  "/platform/configuration/networking/deployment_domain_name":
    get:
      tags:
      - PlatformConfigurationNetworking
      summary: Get default Deployment Domain Name
      description: Gets the default Deployment Domain Name configuration value.
      operationId: get-default-deployment-domain-name
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The Deployment Domain Name was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentDomainName"
        '404':
          description: 'There is no configured Deployment Domain Name but optimistic
            locking was sent. (code: `networking.cname.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Networking - Deployment Domain Names
    put:
      tags:
      - PlatformConfigurationNetworking
      summary: Set default Deployment Domain Name
      description: Saves the default Deployment Domain Name configuration value.
      operationId: set-default-deployment-domain-name
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: query
        description: If specified, then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request). If not specified, will unconditionally upsert.
        required: false
        type: string
      - name: skip_cascading_operations
        in: query
        description: Whether or not to skip cascading operations, such as re-provisioning
          the Security Deployment.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Data containing the Deployment Domain Name to set
        required: true
        schema:
          "$ref": "#/definitions/DeploymentDomainName"
      responses:
        '200':
          description: The Deployment Domain Name was successfully saved.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentDomainName"
        '400':
          description: 'The optimistic locking version format was wrong. (code: `networking.cname.bad_version_format`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.bad_version_format
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'There is no configured Deployment Domain Name but optimistic
            locking was sent. (code: `networking.cname.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There was an optimistic locking version conflict. (code: `networking.cname.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '412':
          description: 'skip_cascading_operations was false but the Security Deployment
            already had a pending plan. (code: `security_deployment.cluster_pending_plan_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.cluster_pending_plan_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Networking - Deployment Domain Names
  "/platform/configuration/networking/deployment_domain_name/{resource_kind}":
    get:
      tags:
      - PlatformConfigurationNetworking
      summary: Get Deployment Domain Name for a resource kind
      description: Gets Deployment Domain Name configuration value for a resource
        kind.
      operationId: get-resource-kind-deployment-domain-name
      produces:
      - application/json
      parameters:
      - name: resource_kind
        in: path
        description: The kind of resource you want to manage a Deployment Domain Name
          for.
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      responses:
        '200':
          description: The Deployment Domain Name was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentDomainName"
        '404':
          description: 'There is no configured Deployment Domain Name but optimistic
            locking was sent. (code: `networking.cname.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Networking - Deployment Domain Names
    put:
      tags:
      - PlatformConfigurationNetworking
      summary: Set Deployment Domain Name for a resource kind.
      description: Saves the Deployment Domain Name configuration value for a resource
        kind.
      operationId: set-resource-kind-deployment-domain-name
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: resource_kind
        in: path
        description: The kind of resource you want to manage a Deployment Domain Name
          for.
        required: true
        type: string
        enum:
        - elasticsearch
        - kibana
        - apm
        - appsearch
        - enterprise_search
        - integrations_server
      - name: version
        in: query
        description: If specified, then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request). If not specified, will unconditionally upsert.
        required: false
        type: string
      - name: skip_cascading_operations
        in: query
        description: Whether or not to skip cascading operations, such as re-provisioning
          the Security Deployment.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Data containing the Deployment Domain Name to set
        required: true
        schema:
          "$ref": "#/definitions/DeploymentDomainName"
      responses:
        '200':
          description: The Deployment Domain Name was successfully saved.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/DeploymentDomainName"
        '400':
          description: 'The optimistic locking version format was wrong. (code: `networking.cname.bad_version_format`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.bad_version_format
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'There is no configured Deployment Domain Name but optimistic
            locking was sent. (code: `networking.cname.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There was an optimistic locking version conflict. (code: `networking.cname.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - networking.cname.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '412':
          description: 'skip_cascading_operations was false but the Security Deployment
            already had a pending plan. (code: `security_deployment.cluster_pending_plan_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.cluster_pending_plan_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Networking - Deployment Domain Names
  "/platform/configuration/security/deployment":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get current security deployment
      description: Retrieves the current security deployment.
      operationId: get-security-deployment
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The security deployment was successfully returned
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/SecurityDeployment"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_deployment.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Deployment
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Create security deployment
      description: Creates a new security deployment configuration.
      operationId: create-security-deployment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The deployment request
        required: true
        schema:
          "$ref": "#/definitions/SecurityDeploymentCreateRequest"
      responses:
        '201':
          description: The security deployment was successfully created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/IdResponse"
        '409':
          description: |-
            * There is a version conflict. (code: `security_deployment.version_conflict`)
            * There is a version conflict. (code: `security_deployment.already_exists`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.version_conflict
              - security_deployment.already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Deployment
    put:
      tags:
      - PlatformConfigurationSecurity
      summary: Update security deployment
      description: Updates an existing security deployment configuration.
      operationId: update-security-deployment
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The update request
        required: true
        schema:
          "$ref": "#/definitions/SecurityDeploymentUpdateRequest"
      responses:
        '200':
          description: The security deployment was successfully updated
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/IdResponse"
        '404':
          description: 'The security deployment was not found. (code: `security_deployment.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: |-
            * There is a version conflict. (code: `security_deployment.version_conflict`)
            * There is a version conflict. (code: `security_deployment.already_exists`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_deployment.version_conflict
              - security_deployment.already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Deployment
  "/platform/configuration/security/enrollment-tokens":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get enrollment tokens
      description: Retrieves a list of active enrollment tokens.
      operationId: get-enrollment-tokens
      parameters: []
      responses:
        '200':
          description: A token has been generated that can be used to start new servers
            with the requested roles
          schema:
            "$ref": "#/definitions/ListEnrollmentTokenReply"
      x-doc:
        tag: Platform - Configuration - Security
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Create enrollment token
      description: Creates an enrollment token.
      operationId: create-enrollment-token
      parameters:
      - in: body
        name: body
        description: Request parameters for the enrollment token
        required: true
        schema:
          "$ref": "#/definitions/EnrollmentTokenRequest"
      responses:
        '200':
          description: A token has been generated that can be used to start new servers
            with the requested roles
          schema:
            "$ref": "#/definitions/RequestEnrollmentTokenReply"
        '400':
          description: 'The token request format was invalid, details in the error
            (code: ''enrollment_tokens.invalid_token_request'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'No signing key is available to generate a token (code: ''enrollment_tokens.signing_key_not_found'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security
  "/platform/configuration/security/enrollment-tokens/{token}":
    delete:
      tags:
      - PlatformConfigurationSecurity
      summary: Delete enrollment token
      description: Revokes and deletes the enrollment token.
      operationId: delete-enrollment-token
      parameters:
      - name: token
        in: path
        description: The token or token identifier to revoke.
        required: true
        type: string
      responses:
        '200':
          description: The supplied token has been revoked and can no longer be used
            to start services on new servers
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'Token not found (code: ''enrollment_tokens.invalid_token_id'')'
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security
  "/platform/configuration/security/extra_certs":
    get:
      tags:
      - Platform
      summary: List extra certificates
      description: List all of the extra certificates.
      operationId: get-extra-certificates
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The collection of all available extra certificates public chains
          schema:
            "$ref": "#/definitions/PublicCertChainCollection"
      x-doc:
        tag: Platform - Configuration - Security - Extra Certificates - CRUD
  "/platform/configuration/security/extra_certs/{cert_id}":
    get:
      tags:
      - Platform
      summary: Read extra certificate
      description: Read an extra certificate.
      operationId: get-extra-certificate
      produces:
      - application/json
      parameters:
      - name: cert_id
        in: path
        description: The extra certificate Id. For example, `star_my_domain_com`.
        required: true
        type: string
      responses:
        '200':
          description: Extra certificate public chain if exists
          schema:
            "$ref": "#/definitions/PublicCertChain"
        '404':
          description: 'The extra certificate cannot be found. (code: `cert.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - cert.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security - Extra Certificates - CRUD
    put:
      tags:
      - Platform
      summary: Update extra certificate
      description: Add or update an extra certificate.
      operationId: set-extra-certificate
      consumes:
      - application/text
      produces:
      - application/json
      parameters:
      - name: cert_id
        in: path
        description: The extra certificate Id. For example, `star_my_domain_com`.
        required: true
        type: string
      - in: body
        name: body
        description: Extra certificate bundle
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Updates extra certificate under given id
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'Certificate uses unknown cryptographic algorithm. (code: `cert.unknown_cert_algorithm`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - cert.unknown_cert_algorithm
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security - Extra Certificates - CRUD
    delete:
      tags:
      - Platform
      summary: Delete extra certificate
      description: Delete an extra certificate.
      operationId: delete-extra-certificate
      produces:
      - application/json
      parameters:
      - name: cert_id
        in: path
        description: The extra certificate Id. For example, `star_my_domain_com`.
        required: true
        type: string
      responses:
        '200':
          description: Extra certificate under the given id is deleted if exists
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The extra certificate cannot be found. (code: `cert.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - cert.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security - Extra Certificates - CRUD
  "/platform/configuration/security/realms":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: List security realm configurations
      description: Retrieves a list of security realm configurations.
      operationId: get-security-realm-configurations
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The security realm configurations were successfully returned
          schema:
            "$ref": "#/definitions/SecurityRealmInfoList"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/_reorder":
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Reorder security realms
      description: Reorder security realms.
      operationId: reorder-security-realms
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The reorder request
        required: true
        schema:
          "$ref": "#/definitions/SecurityRealmsReorderRequest"
      responses:
        '200':
          description: The reorder request was successful
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * Invalid ids . (code: `security_realm.invalid_ids`)
            * Missing ids . (code: `security_realm.missing_ids`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.invalid_ids
              - security_realm.missing_ids
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/active-directory":
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Create Active Directory configuration
      description: 'Creates a new Active Directory configuration. '
      operationId: create-active-directory-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The Active Directory configuration
        required: true
        schema:
          "$ref": "#/definitions/ActiveDirectorySettings"
      responses:
        '201':
          description: The Active Directory configuration was successfully created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The url format is invalid. (code: `security_realm.invalid_url`)
            * Invalid Active Directory URL. (code: `security_realm.active_directory.invalid_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.invalid_url
              - security_realm.active_directory.invalid_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/active-directory/{realm_id}":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get Active Directory configuration
      description: 'Retrieves a single Active Directory security realm configuration. '
      operationId: get-active-directory-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      responses:
        '200':
          description: The Active Directory configuration was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ActiveDirectorySettings"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    put:
      tags:
      - PlatformConfigurationSecurity
      summary: Update Active Directory configuration
      description: 'Updates an existing Active Directory configuration. '
      operationId: update-active-directory-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The Active Directory configuration
        required: true
        schema:
          "$ref": "#/definitions/ActiveDirectorySettings"
      responses:
        '200':
          description: The Active Directory configuration was successfully updated
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The url format is invalid. (code: `security_realm.invalid_url`)
            * Invalid Active Directory URL. (code: `security_realm.active_directory.invalid_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.invalid_url
              - security_realm.active_directory.invalid_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    delete:
      tags:
      - PlatformConfigurationSecurity
      summary: Delete Active Directory configuration
      description: 'Deletes a single Active Directory configuration. '
      operationId: delete-active-directory-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      responses:
        '200':
          description: The Active Directory configuration was successfully deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/ldap":
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Create LDAP configuration
      description: Creates a new LDAP configuration.
      operationId: create-ldap-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The LDAP configuration
        required: true
        schema:
          "$ref": "#/definitions/LdapSettings"
      responses:
        '201':
          description: The LDAP configuration was successfully created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The url format is invalid. (code: `security_realm.invalid_url`)
            * Invalid LDAP URL. (code: `security_realm.ldap.invalid_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.invalid_url
              - security_realm.ldap.invalid_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/ldap/{realm_id}":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get LDAP configuration
      description: Retrieves a single LDAP security realm configuration.
      operationId: get-ldap-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      responses:
        '200':
          description: The LDAP configuration was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LdapSettings"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    put:
      tags:
      - PlatformConfigurationSecurity
      summary: Update LDAP configuration
      description: Updates an existing LDAP configuration.
      operationId: update-ldap-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The LDAP configuration
        required: true
        schema:
          "$ref": "#/definitions/LdapSettings"
      responses:
        '200':
          description: The LDAP configuration was successfully updated
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The url format is invalid. (code: `security_realm.invalid_url`)
            * Invalid LDAP URL. (code: `security_realm.ldap.invalid_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.invalid_url
              - security_realm.ldap.invalid_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    delete:
      tags:
      - PlatformConfigurationSecurity
      summary: Delete LDAP configuration
      description: Deletes a single LDAP configuration.
      operationId: delete-ldap-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      responses:
        '200':
          description: The LDAP configuration was successfully deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/saml":
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Create SAML configuration
      description: Creates a new SAML configuration.
      operationId: create-saml-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The SAML configuration
        required: true
        schema:
          "$ref": "#/definitions/SamlSettings"
      responses:
        '201':
          description: The SAML configuration was successfully created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The SAML IDP metadata endpoint returned an error response code 200 OK. (code: `security_realm.saml.invalid_idp_metadata_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.saml.invalid_idp_metadata_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/realms/saml/{realm_id}":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get SAML configuration
      description: Retrieves a single SAML security realm configuration.
      operationId: get-saml-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      responses:
        '200':
          description: The SAML configuration was successfully retrieved
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/SamlSettings"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    put:
      tags:
      - PlatformConfigurationSecurity
      summary: Update SAML configuration
      description: Updates an existing SAML configuration.
      operationId: update-saml-configuration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The SAML configuration
        required: true
        schema:
          "$ref": "#/definitions/SamlSettings"
      responses:
        '200':
          description: The SAML configuration was successfully updated
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The realm id is already in use. (code: `security_realm.id_conflict`)
            * The selected id is not valid. (code: `security_realm.invalid_id`)
            * Order must be greater than zero. (code: `security_realm.invalid_order`)
            * Invalid Elasticsearch Security realm type. (code: `security_realm.invalid_type`)
            * The realm order is already in use. (code: `security_realm.order_conflict`)
            * Advanced YAML format is invalid. (code: `security_realm.invalid_yaml`)
            * The SAML IDP metadata endpoint returned an error response code 200 OK. (code: `security_realm.saml.invalid_idp_metadata_url`)
            * Invalid certificate bundle URL. (code: `security_realm.invalid_bundle_url`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.id_conflict
              - security_realm.invalid_id
              - security_realm.invalid_order
              - security_realm.invalid_type
              - security_realm.order_conflict
              - security_realm.invalid_yaml
              - security_realm.saml.invalid_idp_metadata_url
              - security_realm.invalid_bundle_url
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
    delete:
      tags:
      - PlatformConfigurationSecurity
      summary: Delete SAML configuration
      description: Deletes a single SAML configuration.
      operationId: delete-saml-configuration
      produces:
      - application/json
      parameters:
      - name: realm_id
        in: path
        description: The Elasticsearch Security realm identifier.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      responses:
        '200':
          description: The SAML configuration was successfully deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The realm specified by {realm_id} cannot be found. (code:
            `security_realm.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `security_realm.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - security_realm.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Security Realms
  "/platform/configuration/security/tls/{service_name}":
    get:
      tags:
      - PlatformConfigurationSecurity
      summary: Get TLS certificate
      description: Retrieves a certificate in the TLS certificate chain.
      operationId: get-tls-certificate
      parameters:
      - name: service_name
        in: path
        description: The service certificate chain to read.
        required: true
        type: string
        enum:
        - adminconsole
        - proxy
        - ui
        - internalca
      responses:
        '200':
          description: The TLS certificate chain, with private key omitted, for the
            given service and whether it was user specified
          schema:
            "$ref": "#/definitions/TlsPublicCertChain"
      x-doc:
        tag: Platform - Configuration - TLS
    post:
      tags:
      - PlatformConfigurationSecurity
      summary: Set TLS certificate
      description: Creates or updates the TLS certificate chain.
      operationId: set-tls-certificate
      parameters:
      - name: service_name
        in: path
        description: The service certificate chain to read.
        required: true
        type: string
        enum:
        - adminconsole
        - proxy
        - ui
        - internalca
      - in: body
        name: chain
        description: 'New certificate chain: the PEM encoded RSA private key, followed
          by the server certificate, followed by the CA certificate'
        required: true
        schema:
          type: string
      responses:
        '202':
          description: The TLS update has been accepted for the given service and
            will take effect throughout the system
          schema:
            "$ref": "#/definitions/UpdatedTlsChain"
      x-doc:
        tag: Platform - Configuration - TLS
  "/platform/configuration/snapshots/repositories":
    get:
      tags:
      - PlatformConfigurationSnapshots
      summary: Get snapshot repositories
      description: Retrieves a list of available snapshot repository configurations.
        To access the configuration contents, you must have privileged permissions.
      operationId: get-snapshot-repositories
      parameters: []
      responses:
        '200':
          description: List of snapshot repository configs
          schema:
            "$ref": "#/definitions/RepositoryConfigs"
      x-doc:
        tag: Platform - Repository - CRUD
  "/platform/configuration/snapshots/repositories/{repository_name}":
    get:
      tags:
      - PlatformConfigurationSnapshots
      summary: Get snapshot repository
      description: Retrieves the snapshot repository configuration. To access the
        configuration contents, you must have privileged permissions.
      operationId: get-snapshot-repository
      parameters:
      - name: repository_name
        in: path
        description: The name of the snapshot repository configuration.
        required: true
        type: string
      responses:
        '200':
          description: Retrieve snapshot repository config
          schema:
            "$ref": "#/definitions/RepositoryConfig"
      x-doc:
        tag: Platform - Repository - CRUD
    put:
      tags:
      - PlatformConfigurationSnapshots
      summary: Set snapshot repository
      description: Creates or updates the snapshot repository configuration.
      operationId: set-snapshot-repository
      parameters:
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: integer
      - name: repository_name
        in: path
        description: The name of the snapshot repository configuration.
        required: true
        type: string
      - in: body
        name: body
        description: The Elasticsearch snapshot repository configuration
        required: true
        schema:
          "$ref": "#/definitions/SnapshotRepositoryConfiguration"
      responses:
        '200':
          description: New snapshot repository config
          schema:
            "$ref": "#/definitions/RepositoryConfig"
      x-doc:
        tag: Platform - Repository - CRUD
    delete:
      tags:
      - PlatformConfigurationSnapshots
      summary: Delete snapshot repository
      description: Deletes the snapshot repository configuration.
      operationId: delete-snapshot-repository
      parameters:
      - name: repository_name
        in: path
        description: The name of the snapshot repository configuration.
        required: true
        type: string
      - name: cleanup_deployments
        in: query
        description: Removes references to this snapshot repository configuration
          and disables snapshots on the clusters that were referencing this configuration.
          If a request is made to delete a repository configuration that has already
          been deleted and this parameter is set to true and clusters still reference
          the configuration, then the request will have the side effects of removing
          references and disabling snapshots for clusters that reference the previously
          deleted configuration.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: successful operation
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '202':
          description: Delete snapshot repository config
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '500':
          description: Failed to delete references and disable snapshots in one or
            more referencing clusters.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Repository - CRUD
  "/platform/configuration/store":
    get:
      tags:
      - PlatformInfrastructure
      summary: List Config Store Option
      description: List all existing Config Store Option.
      operationId: list-config-store-option
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: List of existing Config Store Option
          schema:
            "$ref": "#/definitions/ConfigStoreOptionList"
      x-doc:
        tag: Platform - configuration - Store
  "/platform/configuration/store/{config_option_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Find Config Store Option by name
      description: Find Config Store Option by name.
      operationId: get-config-store-option
      produces:
      - application/json
      parameters:
      - name: config_option_id
        in: path
        description: Name of the Config Store Option that you would like to find
        required: true
        type: string
      responses:
        '200':
          description: Config Store Option retrieved successfully
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ConfigStoreOption"
        '404':
          description: 'Config Store Option do not exist by that name. (code: `platform.config.store.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - platform.config.store.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - configuration - Store
    post:
      tags:
      - PlatformInfrastructure
      summary: Create Config Store Option
      description: Inserts new Config Store Option.
      operationId: create-config-store-option
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: config_option_id
        in: path
        description: Name of the Config Store Option that you would like to create
        required: true
        type: string
      - in: body
        name: body
        description: The Config Store Option definition
        required: true
        schema:
          "$ref": "#/definitions/ConfigStoreOptionData"
      responses:
        '201':
          description: The Config Store Option was inserted successfully
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ConfigStoreOption"
        '400':
          description: 'Config Store Option data already exists for the given name.
            (code: `platform.config.store.already_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - platform.config.store.already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - configuration - Store
    put:
      tags:
      - PlatformInfrastructure
      summary: Update Config Store Option
      description: Update existing Config Store Option.
      operationId: put-config-store-option
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: config_option_id
        in: path
        description: Name of the Config Store Option that you would like to modify
        required: true
        type: string
      - name: version
        in: query
        description: If specified then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: string
      - in: body
        name: body
        description: The Config Store Option definition
        required: true
        schema:
          "$ref": "#/definitions/ConfigStoreOptionData"
      responses:
        '200':
          description: Config Store Option retrieved successfully
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ConfigStoreOption"
        '404':
          description: 'There was no existing data for the given Config Store Id.
            (code: `platform.config.store.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - platform.config.store.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `platform.config.store.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - platform.config.store.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - configuration - Store
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete Config Store Option by name
      description: Delete Config Store Option by name.
      operationId: delete-config-store-option
      produces:
      - application/json
      parameters:
      - name: config_option_id
        in: path
        description: Name of the Config Store Option that you would like to delete
        required: true
        type: string
      responses:
        '200':
          description: Config Store Option deleted successfully
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'Config Store Option do not exist by that name. (code: `platform.config.store.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - platform.config.store.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - configuration - Store
  "/platform/configuration/templates/deployments/global":
    get:
      tags:
      - PlatformConfigurationTemplates
      summary: Get all templates cross region.
      description: Global deployment template endpoint which fetches the deployment
        templates across all region services.
      operationId: get-global-deployment-templates
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The deployment templates were returned successfully.
          schema:
            type: array
            items:
              "$ref": "#/definitions/GlobalDeploymentTemplateInfo"
        '204':
          description: There are no deployment templates available.
          schema:
            "$ref": "#/definitions/EmptyResponse"
      x-doc:
        tag: Templates - Deployments - Global
  "/platform/configuration/trust-relationships":
    get:
      tags:
      - PlatformConfigurationTrustRelationships
      summary: List trust relationships
      description: List trust relationships.
      operationId: get-trust-relationships
      produces:
      - application/json
      parameters:
      - name: include_certificate
        in: query
        description: Whether to include the public CA certificates in the response.
        required: false
        type: boolean
        default: false
      - name: filter
        in: query
        description: Which trust relationships to return in the response. Defaults
          to `all`
        required: false
        type: string
        default: all
        enum:
        - all
        - local
        - non-local
      responses:
        '200':
          description: The list of trust relationships.
          schema:
            "$ref": "#/definitions/TrustRelationshipsListResponse"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Trust relationships
    post:
      tags:
      - PlatformConfigurationTrustRelationships
      summary: Create trust relationship
      description: Creates a trust relationship.
      operationId: create-trust-relationship
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The trust relationship definition
        required: true
        schema:
          "$ref": "#/definitions/TrustRelationshipCreateRequest"
      responses:
        '201':
          description: The request was valid and a new trust relationship was created
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/TrustRelationshipCreateResponse"
        '400':
          description: The trust relationship request had errors.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Trust relationships
  "/platform/configuration/trust-relationships/{trust_relationship_id}":
    get:
      tags:
      - PlatformConfigurationTrustRelationships
      summary: Get trust relationship
      description: Retrieves information about a trust relationship.
      operationId: get-trust-relationship
      produces:
      - application/json
      parameters:
      - name: trust_relationship_id
        in: path
        description: Identifier for the trust relationship
        required: true
        type: string
      - name: include_certificate
        in: query
        description: Whether to include the public CA certificates in the response.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The trust relationship info response
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/TrustRelationshipGetResponse"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The trust relationship specified by {trust_relationship_id}
            cannot be found. (code: `trust_relationships.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - trust_relationships.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Trust relationships
    put:
      tags:
      - PlatformConfigurationTrustRelationships
      summary: Update trust relationship
      description: Updates a trust relationship.
      operationId: update-trust-relationship
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: trust_relationship_id
        in: path
        description: Identifier for the trust relationship
        required: true
        type: string
      - in: body
        name: body
        description: The trust relationship definition
        required: true
        schema:
          "$ref": "#/definitions/TrustRelationshipUpdateRequest"
      responses:
        '200':
          description: The request was valid and the trust relationship was updated.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/TrustRelationshipUpdateResponse"
        '400':
          description: The trust relationship request had errors.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The trust relationship specified by {trust_relationship_id}
            cannot be found. (code: `trust_relationships.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - trust_relationships.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Trust relationships
    delete:
      tags:
      - PlatformConfigurationTrustRelationships
      summary: Delete trust relationship
      description: Deletes a trust relationship.
      operationId: delete-trust-relationship
      produces:
      - application/json
      parameters:
      - name: trust_relationship_id
        in: path
        description: Identifier for the trust relationship
        required: true
        type: string
      - name: version
        in: query
        description: If specified then checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: integer
      responses:
        '200':
          description: The request was valid and the trust relationship was deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '401':
          description: You are not authorized to perform this action.
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The trust relationship specified by {trust_relationship_id}
            cannot be found. (code: `trust_relationships.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - trust_relationships.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Configuration - Trust relationships
  "/platform/infrastructure/adminconsoles":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get adminconsoles
      description: Retrieves an overview of all adminconsoles.
      operationId: get-adminconsoles
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: An overview of all adminconsoles.
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/AdminconsolesOverview"
      x-doc:
        tag: Platform - Adminconsoles
  "/platform/infrastructure/adminconsoles/_reindex":
    post:
      tags:
      - PlatformInfrastructure
      summary: Reindex region indices
      description: Start reindex of all regional indices.
      operationId: reindex-adminconsoles
      produces:
      - application/json
      parameters: []
      responses:
        '202':
          description: Started reindexing of regional indices.
          schema:
            "$ref": "#/definitions/EmptyResponse"
      x-doc:
        tag: Platform - Adminconsoles
  "/platform/infrastructure/adminconsoles/{adminconsole_id}/logging_settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get adminconsole logging settings
      description: Get the logging settings for this adminconsole instance.
      operationId: get-adminconsole-logging-settings
      produces:
      - application/json
      parameters:
      - name: adminconsole_id
        in: path
        description: The identifier for the adminconsole instance
        required: true
        type: string
      responses:
        '200':
          description: The logging settings for the adminconsole instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this adminconsole were not found.
            (code: `adminconsoles.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsoles.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Adminconsoles
    put:
      tags:
      - PlatformInfrastructure
      summary: Set adminconsole logging settings
      description: Set the logging settings for this adminconsole instance.
      operationId: set-adminconsole-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: adminconsole_id
        in: path
        description: The identifier for the adminconsole instance
        required: true
        type: string
      - in: body
        name: body
        description: The new logging settings for the adminconsole instance
        required: true
        schema:
          "$ref": "#/definitions/LoggingSettings"
      responses:
        '200':
          description: The updated logging settings for the adminconsole instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this adminconsole were not found.
            (code: `adminconsoles.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsoles.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Adminconsoles
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete adminconsole logging settings
      description: Reset the default logging settings for this adminconsole instance.
      operationId: delete-adminconsole-logging-settings
      produces:
      - application/json
      parameters:
      - name: adminconsole_id
        in: path
        description: The identifier for the adminconsole instance
        required: true
        type: string
      responses:
        '200':
          description: The updated logging settings for the adminconsole instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this adminconsole were not found.
            (code: `adminconsoles.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsoles.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Adminconsoles
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update adminconsole logging settings
      description: All changes in the specified object are applied to the logging
        settings for this adminconsole instance according to the JSON Merge Patch
        processing rules. Omitting existing fields causes the same values to be reapplied.
        Specifying a `null` value reverts the field to the default value, or removes
        the field when no default value exists.
      operationId: update-adminconsole-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: adminconsole_id
        in: path
        description: The identifier for the adminconsole instance
        required: true
        type: string
      - in: body
        name: body
        description: The logging settings to update
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The updated logging settings for the adminconsole instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '400':
          description: 'The update request is invalid. (code: `patch.request_malformed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - patch.request_malformed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The logging settings for this adminconsole were not found.
            (code: `adminconsoles.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - adminconsoles.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Adminconsoles
  "/platform/infrastructure/allocators":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get allocators
      description: Retrieves the information for all of the allocators in the platform.
      operationId: get-allocators
      produces:
      - application/json
      parameters:
      - name: q
        in: query
        description: "(Optional) The query that filters the allocators. Maps to an
          Elasticsearch `query_string` query."
        required: false
        type: string
      - name: size
        in: query
        description: "(Optional) The maximum number of search results to return. Defaults
          to 100."
        required: false
        type: integer
        default: 100
      - name: from
        in: query
        description: "(Optional) The offset from the first result you want to fetch.
          Defaults to 0."
        required: false
        type: integer
        default: 0
      - name: sort
        in: query
        description: "(Optional) A comma-separated array of fields to sort the search
          results by. Defaults to `allocator_id`."
        required: false
        type: string
      responses:
        '200':
          description: An overview of all allocators
          schema:
            "$ref": "#/definitions/AllocatorOverview"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize allocators
      description: Asynchronously synchronizes all allocator information in the back-end
        search index.
      operationId: resync-allocators
      produces:
      - application/json
      parameters:
      - name: skip_matching_version
        in: query
        description: When true, skips the document indexing when the version matches
          the in-memory copy.
        required: false
        type: boolean
        default: true
      responses:
        '202':
          description: The ids of documents, organized by model version, that will
            be synchronized.
          schema:
            "$ref": "#/definitions/ModelVersionIndexSynchronizationResults"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/_search":
    post:
      tags:
      - PlatformInfrastructure
      summary: Search allocators
      description: Retrieves the information for all the allocators in the platform
        that match a specified query.
      operationId: search-allocators
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The optional search request to execute. If not supplied then
          all allocators are matched
        required: false
        schema:
          "$ref": "#/definitions/SearchRequest"
      responses:
        '200':
          description: An overview of allocators that matched the given search query
          schema:
            "$ref": "#/definitions/AllocatorOverview"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get allocator
      description: Retrieves the allocator by the ID.
      operationId: get-allocator
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: The information for the allocator specified by {allocator_id}
          schema:
            "$ref": "#/definitions/AllocatorInfo"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete allocator
      description: Deletes the allocator.
      operationId: delete-allocator
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: remove_instances
        in: query
        description: Removes the instances from the deleted allocator.
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The allocator specified by {allocator_id} was successfully
            deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The allocator specified by {allocator_id} could not be deleted. (code: `allocators.delete_connected_allocator_attempt`)
            * The allocator specified by {allocator_id} could not be deleted. (code: `allocators.delete_allocator_with_instances_attempt`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.delete_connected_allocator_attempt
              - allocators.delete_allocator_with_instances_attempt
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize allocator
      description: Immediately synchronizes the allocator information in the back-end
        search index and caches.
      operationId: resync-allocator
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: The allocator resync operation executed successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '500':
          description: 'The allocator resync operation failed for allocator {allocator_id}.
            (code: `allocators.resync_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.resync_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/clusters/_move":
    post:
      tags:
      - PlatformInfrastructure
      summary: Move clusters
      description: Moves the clusters to a different allocator.
      operationId: move-clusters
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: force_update
        in: query
        description: When `true`, cancels and overwrites the pending plans, or treats
          the instance as an error.
        required: false
        type: boolean
        default: false
      - name: move_only
        in: query
        description: When `true`, moves the specified instances and ignores the changes
          for the cluster state.
        required: false
        type: boolean
        default: true
      - name: force_move
        in: query
        description: When `true`, execute a primitive vacate by moving data at file-system
          level, and recreating instances on the target allocator(s).
        required: false
        type: boolean
        default: false
      - name: allocator_down
        in: query
        description: 'When `true`, considers all instances on the allocator as permanently
          shut down when deciding how to migrate data to new nodes.When left blank,
          the system automatically decides. NOTE: The default treats the allocator
          as up.'
        required: false
        type: boolean
      - name: validate_only
        in: query
        description: When `true`, validates the plan overrides, then returns the plan
          without performing the move.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Overrides defaults for the move of each cluster
        required: false
        schema:
          "$ref": "#/definitions/MoveClustersRequest"
      responses:
        '202':
          description: The move command was issued successfully, use the "GET" command
            on each /{cluster_id} resource to monitor progress
          schema:
            "$ref": "#/definitions/MoveClustersCommandResponse"
        '400':
          description: |-
            * The cluster definition contained errors. (code: `clusters.cluster_invalid_plan`)
            * The cluster definition contained errors. (code: `clusters.plan_feature_not_implemented`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.cluster_invalid_plan
              - clusters.plan_feature_not_implemented
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The move command was prohibited for the given cluster. (code:
            `clusters.command_prohibited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.command_prohibited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/clusters/{cluster_type}/_move":
    post:
      tags:
      - PlatformInfrastructure
      summary: Move clusters by type
      description: Moves the clusters, by type, to a different allocator.
      operationId: move-clusters-by-type
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: cluster_type
        in: path
        description: 'The cluster types to move off of the allocator. NOTE: When unspecified,
          all clusters are moved.'
        required: true
        type: string
        enum:
        - apm
        - appsearch
        - elasticsearch
        - enterprise_search
        - kibana
      - name: force_update
        in: query
        description: When true, cancels and overwrites pending plans, or treats instance
          as an error
        required: false
        type: boolean
        default: false
      - name: move_only
        in: query
        description: When true, bypasses the cluster state changes, but continues
          to move the specified instances
        required: false
        type: boolean
        default: true
      - name: force_move
        in: query
        description: When `true`, execute a primitive vacate by moving data at file-system
          level, and recreating instances on the target allocator(s).
        required: false
        type: boolean
        default: false
      - name: allocator_down
        in: query
        description: 'When `true`, considers all instances on the allocator as permanently
          shut down when deciding how to migrate data to new nodes.When left blank,
          the system automatically decides. NOTE: The default treats the allocator
          as up.'
        required: false
        type: boolean
      - name: validate_only
        in: query
        description: When `true`, validates the plan overrides, then returns the plan
          without performing the move.
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: Overrides defaults for the move of each cluster
        required: false
        schema:
          "$ref": "#/definitions/MoveClustersRequest"
      responses:
        '202':
          description: The move command was issued successfully, use the "GET" command
            on each /{cluster_id} resource to monitor progress
          schema:
            "$ref": "#/definitions/MoveClustersCommandResponse"
        '400':
          description: |-
            * The cluster definition contained errors. (code: `clusters.cluster_invalid_plan`)
            * The cluster definition contained errors. (code: `clusters.plan_feature_not_implemented`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.cluster_invalid_plan
              - clusters.plan_feature_not_implemented
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'The move command was prohibited for the given cluster. (code:
            `clusters.command_prohibited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - clusters.command_prohibited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/logging_settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get allocator logging settings
      description: Get the logging settings for this allocator instance.
      operationId: get-allocator-logging-settings
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: The logging settings for the allocator instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this allocator were not found. (code:
            `allocators.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    put:
      tags:
      - PlatformInfrastructure
      summary: Set allocator logging settings
      description: Set the logging settings for this allocator instance.
      operationId: set-allocator-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - in: body
        name: body
        description: The new logging settings for the allocator instance
        required: true
        schema:
          "$ref": "#/definitions/LoggingSettings"
      responses:
        '200':
          description: The updated logging settings for the allocator instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this allocator were not found. (code:
            `allocators.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete allocator logging settings
      description: Reset the default logging settings for this allocator instance.
      operationId: delete-allocator-logging-settings
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: The updated logging settings for the allocator instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this allocator were not found. (code:
            `allocators.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update allocator logging settings
      description: All changes in the specified object are applied to the logging
        settings for this allocator instance according to the JSON Merge Patch processing
        rules. Omitting existing fields causes the same values to be reapplied. Specifying
        a `null` value reverts the field to the default value, or removes the field
        when no default value exists.
      operationId: update-allocator-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - in: body
        name: body
        description: The logging settings to update
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The updated logging settings for the allocator instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '400':
          description: 'The update request is invalid. (code: `patch.request_malformed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - patch.request_malformed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The logging settings for this allocator were not found. (code:
            `allocators.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/maintenance-mode/_start":
    post:
      tags:
      - PlatformInfrastructure
      summary: Start maintenance mode
      description: Starts maintenance mode on the allocator.
      operationId: start-allocator-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: reason
        in: query
        description: Provides a reason for changing the maintenance mode which will
          appear as a message on the allocator.
        required: false
        type: string
      responses:
        '202':
          description: The start maintenance mode command was issued successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given allocator. (code: `root.unauthorized.rbac`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized.rbac
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/maintenance-mode/_stop":
    post:
      tags:
      - PlatformInfrastructure
      summary: Stop maintenance mode
      description: Stops maintenance mode on the allocator.
      operationId: stop-allocator-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: reason
        in: query
        description: Provides a reason for changing the maintenance mode which will
          appear as a message on the allocator.
        required: false
        type: string
      responses:
        '202':
          description: The stop maintenance mode command was issued successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '403':
          description: 'The stop maintenance mode command was prohibited for the given
            allocator. (code: `root.unauthorized.rbac`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized.rbac
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/metadata":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get allocator metadata
      description: Retrieves the allocator metadata.
      operationId: get-allocator-metadata
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: The allocator metadata was successfully returned
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            type: array
            items:
              "$ref": "#/definitions/MetadataItem"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    put:
      tags:
      - PlatformInfrastructure
      summary: Set allocator metadata
      description: Sets the allocator metadata.
      operationId: set-allocator-metadata
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      - in: body
        name: body
        description: The metadata to update the allocator with
        required: true
        schema:
          "$ref": "#/definitions/MetadataItems"
      responses:
        '200':
          description: The allocator metadata was successfully changed (the updated
            JSON is returned)
          schema:
            type: array
            items:
              "$ref": "#/definitions/MetadataItem"
        '400':
          description: 'The value specified is empty for at least one of the metadata
            tags. (code: `allocators.invalid_empty_metadata_items`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.invalid_empty_metadata_items
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/metadata/{key}":
    put:
      tags:
      - PlatformInfrastructure
      summary: Set allocator metadata item
      description: Adds or updates a single item in the allocator metadata.
      operationId: set-allocator-metadata-item
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: key
        in: path
        description: The metadata item key.
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      - in: body
        name: body
        description: The value of the metadata item to add or update
        required: true
        schema:
          "$ref": "#/definitions/MetadataItemValue"
      responses:
        '200':
          description: The allocator metadata was successfully changed (the updated
            JSON is returned)
          schema:
            type: array
            items:
              "$ref": "#/definitions/MetadataItem"
        '400':
          description: 'The value specified for the metadata tag is empty. (code:
            `allocators.invalid_empty_metadata_item`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.invalid_empty_metadata_item
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: |-
            * The allocator specified by {allocator_id} cannot be found. (code: `allocators.allocator_not_found`)
            * The metadata item specified by {key} cannot be found. (code: `allocators.metadata_item_not_found`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
              - allocators.metadata_item_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete allocator metadata item
      description: Removes a single item from the allocator metadata.
      operationId: delete-allocator-metadata-item
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: key
        in: path
        description: The metadata item key.
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      responses:
        '200':
          description: The allocator metadata was successfully changed (the updated
            JSON is returned)
          schema:
            type: array
            items:
              "$ref": "#/definitions/MetadataItem"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/allocators/{allocator_id}/settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get allocator settings
      description: Retrieves the allocator override settings.
      operationId: get-allocator-settings
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      responses:
        '200':
          description: Returns the settings for the specified Allocator
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/AllocatorSettings"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    put:
      tags:
      - PlatformInfrastructure
      summary: Set allocator settings
      description: 'Overwrites the allocator settings with the specified settings.
        WARNING: Any unspecified fields are deleted.'
      operationId: set-allocator-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      - in: body
        name: body
        description: The allocator settings to apply
        required: true
        schema:
          "$ref": "#/definitions/AllocatorSettings"
      responses:
        '200':
          description: Returns the updated settings for the specified allocator
          schema:
            "$ref": "#/definitions/AllocatorSettings"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update allocator settings
      description: Applies the settings as a patch. Only the fields that are referenced
        in the update are altered.
      operationId: update-allocator-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: allocator_id
        in: path
        description: The allocator identifier.
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      - in: body
        name: body
        description: The allocator settings to update
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the updated settings for the specified allocator
          schema:
            "$ref": "#/definitions/AllocatorSettings"
        '404':
          description: 'The allocator specified by {allocator_id} cannot be found.
            (code: `allocators.allocator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - allocators.allocator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Allocators
  "/platform/infrastructure/blueprinter/roles":
    get:
      tags:
      - PlatformInfrastructure
      summary: List roles
      description: Retrieve all persisted roles.
      operationId: list-blueprinter-roles
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The role aggregates.
          schema:
            "$ref": "#/definitions/RoleAggregates"
      x-doc:
        tag: Roles
    post:
      tags:
      - PlatformInfrastructure
      summary: Create a role
      description: Create a Blueprinter role.
      operationId: create-blueprinter-role
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The data you want to use for creating a role.
        required: true
        schema:
          "$ref": "#/definitions/RoleAggregateCreateData"
      responses:
        '201':
          description: The role aggregate that was just created.
          schema:
            "$ref": "#/definitions/RoleAggregate"
        '409':
          description: 'The role ID you specified is already in use. (code: `roles.already_exists`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
  "/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get role
      description: Retrieve a role.
      operationId: get-blueprinter-role
      produces:
      - application/json
      parameters:
      - name: blueprinter_role_id
        in: path
        description: User-specified Blueprinter role ID.
        required: true
        type: string
      responses:
        '200':
          description: The role aggregate definition.
          schema:
            "$ref": "#/definitions/RoleAggregate"
        '404':
          description: 'The role can''t be found. (code: `roles.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
    put:
      tags:
      - PlatformInfrastructure
      summary: Update role
      description: Update a role.
      operationId: update-blueprinter-role
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: blueprinter_role_id
        in: path
        description: User-specified Blueprinter role ID.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: integer
      - in: body
        name: body
        description: The role update data.
        required: true
        schema:
          "$ref": "#/definitions/Role"
      responses:
        '200':
          description: The role was successfully updated.
          schema:
            "$ref": "#/definitions/RoleAggregate"
        '400':
          description: 'The role is currently running container sets. (code: `roles.in_use`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.in_use
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The role can''t be found. (code: `roles.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'Your request failed because the specified version does not
            match the persisted version. (code: `roles.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete role
      description: Delete a role.
      operationId: delete-blueprinter-role
      produces:
      - application/json
      parameters:
      - name: blueprinter_role_id
        in: path
        description: User-specified Blueprinter role ID.
        required: true
        type: string
      - name: skip_validations
        in: query
        description: When sent as true, ignores validation errors.
        required: false
        type: boolean
        default: false
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: integer
      responses:
        '200':
          description: The role was successfully deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The role is currently running container sets. (code: `roles.in_use`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.in_use
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The role can''t be found. (code: `roles.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'Your request failed because the specified version does not
            match the persisted version. (code: `roles.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
  "/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings":
    put:
      tags:
      - PlatformInfrastructure
      summary: Set blessings
      description: Set blessings for a role.
      operationId: set-blueprinter-blessings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: blueprinter_role_id
        in: path
        description: User-specified Blueprinter role ID.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: integer
      - in: body
        name: body
        description: The blessings to set.
        required: true
        schema:
          "$ref": "#/definitions/Blessings"
      responses:
        '200':
          description: The blessings were successfully set.
          schema:
            "$ref": "#/definitions/RoleAggregate"
        '404':
          description: 'The role can''t be found. (code: `roles.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'Your request failed because the specified version does not
            match the persisted version. (code: `roles.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
  "/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings/{runner_id}":
    put:
      tags:
      - PlatformInfrastructure
      summary: Add Blessing
      description: Add a Blessing for a runner to a role.
      operationId: add-blueprinter-blessing
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: blueprinter_role_id
        in: path
        description: User-specified Blueprinter role ID.
        required: true
        type: string
      - name: runner_id
        in: path
        description: Runner ID for a blessing associated with a role.
        required: true
        type: string
      - name: version
        in: query
        description: When specified, checks for conflicts against the version stored
          in the persistent store (returned in 'x-cloud-resource-version' of the GET
          request)
        required: false
        type: integer
      - in: body
        name: body
        description: The blessing to add.
        required: true
        schema:
          "$ref": "#/definitions/Blessing"
      responses:
        '200':
          description: Blessing added successfully.
          schema:
            "$ref": "#/definitions/RoleAggregate"
        '404':
          description: 'The role can''t be found. (code: `roles.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'Your request failed because the specified version does not
            match the persisted version. (code: `roles.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - roles.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Roles
  "/platform/infrastructure/constructors":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get constructors
      description: Retrieves an overview of all constructors in an ECE installation.
      operationId: get-constructors
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: An overview of all constructors.
          schema:
            "$ref": "#/definitions/ConstructorOverview"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize constructors
      description: Asynchronously synchronizes all constructor information in the
        back-end search index.
      operationId: resync-constructors
      produces:
      - application/json
      parameters:
      - name: skip_matching_version
        in: query
        description: When true, skips the document indexing when the version matches
          the in-memory copy.
        required: false
        type: boolean
        default: true
      responses:
        '202':
          description: The ids of documents, organized by model version, that will
            be synchronized.
          schema:
            "$ref": "#/definitions/ModelVersionIndexSynchronizationResults"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/{constructor_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get constructor
      description: Retrieves a constructor by id.
      operationId: get-constructor
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '200':
          description: The information for the constructor specified by {constructor_id}.
          schema:
            "$ref": "#/definitions/ConstructorInfo"
        '404':
          description: 'The constructor specified by {constructor_id} cannot be found.
            (code: `constructors.constructor_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.constructor_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/{constructor_id}/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize constructor
      description: Immediately resynchronizes the search index and cache for the selected
        constructor.
      operationId: resync-constructor
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '200':
          description: The constructor resync operation executed successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '500':
          description: 'The constructor resync operation failed for allocator {constructor_id}.
            (code: `constructors.resync_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.resync_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/{constructor_id}/logging_settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get constructor logging settings
      description: Get the logging settings for this constructor instance.
      operationId: get-constructor-logging-settings
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '200':
          description: The logging settings for the constructor instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this constructor were not found.
            (code: `constructors.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
    put:
      tags:
      - PlatformInfrastructure
      summary: Set constructor logging settings
      description: Set the logging settings for this constructor instance.
      operationId: set-constructor-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      - in: body
        name: body
        description: The new logging settings for the constructor instance
        required: true
        schema:
          "$ref": "#/definitions/LoggingSettings"
      responses:
        '200':
          description: The updated logging settings for the constructor instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this constructor were not found.
            (code: `constructors.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete constructor logging settings
      description: Reset the default logging settings for this constructor instance.
      operationId: delete-constructor-logging-settings
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '200':
          description: The updated logging settings for the constructor instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this constructor were not found.
            (code: `constructors.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update constructor logging settings
      description: All changes in the specified object are applied to the logging
        settings for this constructor instance according to the JSON Merge Patch processing
        rules. Omitting existing fields causes the same values to be reapplied. Specifying
        a `null` value reverts the field to the default value, or removes the field
        when no default value exists.
      operationId: update-constructor-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      - in: body
        name: body
        description: The logging settings to update
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The updated logging settings for the constructor instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '400':
          description: 'The update request is invalid. (code: `patch.request_malformed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - patch.request_malformed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The logging settings for this constructor were not found.
            (code: `constructors.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/{constructor_id}/maintenance-mode/_start":
    post:
      tags:
      - PlatformInfrastructure
      summary: Start maintenance mode
      description: Start maintenance mode of a constructor. It will stop constructing
        new plans while continuing with on-going ones.
      operationId: start-constructor-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '202':
          description: The start maintenance mode command was issued successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '403':
          description: 'The start maintenance mode command was prohibited for the
            given constructor. (code: `constructors.command_prohibited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.command_prohibited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The constructor specified by {constructor_id} cannot be found.
            (code: `constructors.constructor_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.constructor_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/constructors/{constructor_id}/maintenance-mode/_stop":
    post:
      tags:
      - PlatformInfrastructure
      summary: Stop maintenance mode
      description: Stop maintenance mode of a constructor. It will resume the construction
        of submitted plans.
      operationId: stop-constructor-maintenance-mode
      produces:
      - application/json
      parameters:
      - name: constructor_id
        in: path
        description: Identifier for the constructor
        required: true
        type: string
      responses:
        '202':
          description: The stop maintenance mode command was issued successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '403':
          description: 'The stop maintenance mode command was prohibited for the given
            constructor. (code: `constructors.command_prohibited`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.command_prohibited
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The constructor specified by {constructor_id} cannot be found.
            (code: `constructors.constructor_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - constructors.constructor_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Constructors
  "/platform/infrastructure/coordinators":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get coordinators
      description: Retrieves an overview of all coordinators.
      operationId: get-coordinators
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: An overview of all coordinators.
          schema:
            "$ref": "#/definitions/CoordinatorsSummary"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/coordinators/candidates":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get coordinator candidates
      description: Retrieve a list of all coordinator candidates.
      operationId: get-coordinator-candidates
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: A list of all coordinator candidates.
          schema:
            "$ref": "#/definitions/CoordinatorCandidatesSummary"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/coordinators/candidates/{coordinator_candidate_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get a coordinator candidate
      description: Retrieve a coordinator candidate.
      operationId: get-coordinator-candidate
      produces:
      - application/json
      parameters:
      - name: coordinator_candidate_id
        in: path
        description: The identifier for the coordinator candidate
        required: true
        type: string
      responses:
        '200':
          description: Info about a coordinator candidate.
          schema:
            "$ref": "#/definitions/CoordinatorCandidateInfo"
        '404':
          description: 'Unable to find coordinator candidate {coordinator_candidate_id}.
            Edit your request, then try again. (code: `coordinators.candidate_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.candidate_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Coordinators
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete coordinator candidate
      description: Delete a coordinator candidate by id.
      operationId: delete-coordinator-candidate
      produces:
      - application/json
      parameters:
      - name: coordinator_candidate_id
        in: path
        description: The identifier for the coordinator candidate
        required: true
        type: string
      - name: version
        in: query
        description: cloud resource version
        required: false
        type: string
      responses:
        '200':
          description: The coordinator candidate specified by {coordinator_candidate_id}
            was deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The coordinator specified by {coordinator_candidate_id} could
            not be deleted. (code: `coordinators.candidate_deletion_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.candidate_deletion_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The coordinator candidate specified by {coordinator_candidate_id}
            cannot be found. (code: `coordinators.candidate_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.candidate_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/coordinators/candidates/{coordinator_candidate_id}/_promote":
    post:
      tags:
      - PlatformInfrastructure
      summary: Promote a coordinator candidate
      description: Promotes a coordinator candidate.
      operationId: promote-coordinator-candidate
      produces:
      - application/json
      parameters:
      - name: coordinator_candidate_id
        in: path
        description: The identifier for the coordinator candidate
        required: true
        type: string
      responses:
        '202':
          description: Accepted promote of coordinator candidate.
          schema:
            "$ref": "#/definitions/CoordinatorCandidateInfo"
        '404':
          description: 'Unable to find coordinator candidate {coordinator_id}. Edit
            your request, then try again. (code: `coordinators.candidate_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.candidate_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/coordinators/{coordinator_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get a coordinator
      description: Retrieve overview of a single coordinator.
      operationId: get-coordinator
      produces:
      - application/json
      parameters:
      - name: coordinator_id
        in: path
        description: The identifier for the coordinator
        required: true
        type: string
      responses:
        '200':
          description: An overview of a coordinator instance.
          schema:
            "$ref": "#/definitions/CoordinatorSummary"
        '404':
          description: 'Unable to find coordinator {coordinator_id}. Edit your request,
            then try again. (code: `coordinators.coordinator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.coordinator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/coordinators/{coordinator_id}/_demote":
    post:
      tags:
      - PlatformInfrastructure
      summary: Demote a coordinator
      description: Demotes a coordinator.
      operationId: demote-coordinator
      produces:
      - application/json
      parameters:
      - name: coordinator_id
        in: path
        description: The identifier for the coordinator
        required: true
        type: string
      responses:
        '200':
          description: Accepted demote of coordinator.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The coordinator specified by {coordinator_id} could not be
            demoted. (code: `coordinators.coordinator_demote_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.coordinator_demote_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Unable to find the coordinator {coordinator_id}. Edit your
            request, then try again. (code: `coordinators.coordinator_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - coordinators.coordinator_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Coordinators
  "/platform/infrastructure/proxies":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get proxies
      description: Retrieves an overview of all proxies.
      operationId: get-proxies
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: An overview of all proxies.
          schema:
            "$ref": "#/definitions/ProxyOverview"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/filtered-groups":
    post:
      tags:
      - PlatformInfrastructure
      summary: Create filtered group of proxies
      description: Create the settings for a filtered group of proxies.
      operationId: create-proxies-filtered-group
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: Data for the filtered group of proxies to create
        required: true
        schema:
          "$ref": "#/definitions/ProxiesFilteredGroup"
      responses:
        '200':
          description: Returns the created or updated filtered group of proxies
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ProxiesFilteredGroup"
        '400':
          description: |-
            * The filtered group of proxies has empty id. (code: `proxies.proxies_filtered_group_empty_id`)
            * A filtered group of proxies with the same identifier already exists. (code: `proxies.proxies_filtered_group_already_exists`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_empty_id
              - proxies.proxies_filtered_group_already_exists
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/filtered-groups/{proxies_filtered_group_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get filtered group of proxies
      description: Get data for a filtered group of proxies.
      operationId: get-proxies-filtered-group
      produces:
      - application/json
      parameters:
      - name: proxies_filtered_group_id
        in: path
        description: "\"The identifier for the filtered group of proxies"
        required: true
        type: string
      responses:
        '200':
          description: Data for the filtered group of proxies identified by {proxies_filtered_group_id}
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ProxiesFilteredGroup"
        '404':
          description: 'Unable to find the {proxies_filtered_group_id} specified filtered
            group of proxies. Edit your request, then try again. (code: `proxies.proxies_filtered_group_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
    put:
      tags:
      - PlatformInfrastructure
      summary: Update filtered group of proxies
      description: Update the settings for a filtered group of proxies.
      operationId: update-proxies-filtered-group
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: proxies_filtered_group_id
        in: path
        description: "\"The identifier for the filtered group of proxies"
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      - in: body
        name: body
        description: Data for the filtered group of proxies to update
        required: true
        schema:
          "$ref": "#/definitions/ProxiesFilteredGroup"
      responses:
        '200':
          description: Returns the created or updated filtered group of proxies
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/ProxiesFilteredGroup"
        '400':
          description: 'The provided identifier doesn''t match the identifier in the
            object. (code: `proxies.proxies_filtered_group_id_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_id_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `proxies.proxies_filtered_group_version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete filtered group of proxies
      description: Deletes a filtered group of proxies by ID.
      operationId: delete-proxies-filtered-group
      produces:
      - application/json
      parameters:
      - name: proxies_filtered_group_id
        in: path
        description: "\"The identifier for the filtered group of proxies"
        required: true
        type: string
      - name: version
        in: query
        description: Checks for conflicts against the metadata version, then returns
          the value in the `x-cloud-resource-version` header.
        required: false
        type: string
      responses:
        '200':
          description: The filtered group of proxies was successfully deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'Unable to find the {proxies_filtered_group_id} specified filtered
            group of proxies. Edit your request, then try again. (code: `proxies.proxies_filtered_group_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'There is a version conflict. (code: `proxies.proxies_filtered_group_version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxies_filtered_group_version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/filtered-groups/{proxies_filtered_group_id}/health":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get health for a filtered group of proxies
      description: Get the health status of a filtered group of proxies.
      operationId: get-proxies-filtered-group-health
      produces:
      - application/json
      parameters:
      - name: proxies_filtered_group_id
        in: path
        description: "\"The identifier for the filtered group of proxies"
        required: true
        type: string
      - name: expect_status
        in: query
        description: The expected status
        required: false
        type: string
      responses:
        '200':
          description: Returns health information on a filtered group of proxies
          schema:
            "$ref": "#/definitions/ProxiesFilteredGroupHealth"
        '417':
          description: The health status is worse than the expected one.
          schema:
            "$ref": "#/definitions/ProxiesFilteredGroupHealth"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/health":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get proxy health
      description: Get the health status of all proxies.
      operationId: get-proxies-health
      produces:
      - application/json
      parameters:
      - name: expect_status
        in: query
        description: The expected status
        required: false
        type: string
      responses:
        '200':
          description: Returns health information on all the proxies
          schema:
            "$ref": "#/definitions/ProxiesHealth"
        '417':
          description: The health status is worse than the expected one.
          schema:
            "$ref": "#/definitions/ProxiesHealth"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get proxies settings
      description: |-
        > WARNING
        > This endpoint is deprecated and scheduled to be removed in the next major version.

        Retrieves the settings for all proxies.
      operationId: get-proxies-settings
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Settings for all proxies.
          schema:
            "$ref": "#/definitions/ProxiesSettings"
      x-doc:
        tag: Platform - proxies
    put:
      tags:
      - PlatformInfrastructure
      summary: Set proxy settings
      description: |-
        > WARNING
        > This endpoint is deprecated and scheduled to be removed in the next major version.

        Overwrites the proxy settings. All unspecified fields are deleted.
      operationId: set-proxies-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: query
        description: If specified, checks for conflicts against the version of the
          settings (returned in 'x-cloud-resource-version' of the GET request)
        required: false
        type: string
      - in: body
        name: body
        description: The proxy settings to apply
        required: true
        schema:
          "$ref": "#/definitions/ProxiesSettings"
      responses:
        '200':
          description: Returns the updated settings
          schema:
            "$ref": "#/definitions/ProxiesSettings"
        '409':
          description: 'There is a version conflict. (code: `proxies.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update proxy settings
      description: |-
        > WARNING
        > This endpoint is deprecated and scheduled to be removed in the next major version.

        Applies the settings as a patch. Only the fields that are referenced in the update are changed.
      operationId: update-proxies-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: query
        description: If specified, checks for conflicts against the version of the
          repository configuration (returned in 'x-cloud-resource-version' of the
          GET request)
        required: false
        type: string
      - in: body
        name: body
        description: A JSON to merge with the existing settings
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the updated settings
          schema:
            "$ref": "#/definitions/ProxiesSettings"
        '409':
          description: 'There is a version conflict. (code: `proxies.version_conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.version_conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/proxies/{proxy_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get proxy
      description: Retrieves a single proxy by ID.
      operationId: get-proxy
      produces:
      - application/json
      parameters:
      - name: proxy_id
        in: path
        description: The identifier for the proxy
        required: true
        type: string
      responses:
        '200':
          description: The information for the proxy specified by {proxy_id}.
          schema:
            "$ref": "#/definitions/ProxyInfo"
        '404':
          description: 'Unable to find the {proxy_id} specified proxy. Edit your request,
            then try again. (code: `proxies.proxy_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - proxies.proxy_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - proxies
  "/platform/infrastructure/runners":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get runners
      description: Retrieves an overview of all runners.
      operationId: get-runners
      produces:
      - application/json
      parameters:
      - name: q
        in: query
        description: An optional query to filter runners by. Maps to an Elasticsearch
          query_string query.
        required: false
        type: string
      responses:
        '200':
          description: An overview of all runners.
          schema:
            "$ref": "#/definitions/RunnerOverview"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize runners
      description: Asynchronously synchronizes all runner information in the search
        index.
      operationId: resync-runners
      produces:
      - application/json
      parameters:
      - name: skip_matching_version
        in: query
        description: When true, skips the document indexing when the version matches
          the in-memory copy.
        required: false
        type: boolean
        default: true
      responses:
        '202':
          description: The ids of documents, organized by model version, that will
            be synchronized.
          schema:
            "$ref": "#/definitions/ModelVersionIndexSynchronizationResults"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/_search":
    post:
      tags:
      - PlatformInfrastructure
      summary: Search runners
      description: Retrieves runners that match a given query.
      operationId: search-runners
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The optional search request to execute. If not supplied then
          all runners are matched.
        required: false
        schema:
          "$ref": "#/definitions/SearchRequest"
      responses:
        '200':
          description: An overview of runners that matched the given search query.
          schema:
            "$ref": "#/definitions/RunnerOverview"
        '400':
          description: 'The search request failed. (code: `runners.search_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.search_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/{runner_id}":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get runner
      description: Retrieves a runner by id.
      operationId: get-runner
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      responses:
        '200':
          description: The information for the runner specified by {runner_id}.
          schema:
            "$ref": "#/definitions/RunnerInfo"
        '404':
          description: 'Unable to find the {runner_id} specified runner. Edit your
            request, then try again. (code: `runners.runner_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.runner_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete runner
      description: Delete a runner by id.
      operationId: delete-runner
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      responses:
        '200':
          description: The runner specified by {runner_id} was deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The runner specified by {runner_id} could not be deleted.
            (code: `runners.runner_deletion_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.runner_deletion_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The runner specified by {runner_id} cannot be found. (code:
            `runners.runner_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.runner_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/{runner_id}/_resync":
    post:
      tags:
      - PlatformInfrastructure
      summary: Resynchronize runner
      description: Immediately resynchronizes the search index and cache for the selected
        runner.
      operationId: resync-runner
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      responses:
        '200':
          description: The runner resync operation executed successfully
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '500':
          description: 'The runner resync operation failed for runner {runner_id}.
            (code: `runners.resync_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.resync_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/{runner_id}/logging_settings":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get runner logging settings
      description: Get the logging settings for this runner instance.
      operationId: get-runner-logging-settings
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      responses:
        '200':
          description: The logging settings for the runner instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this runner were not found. (code:
            `runners.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
    put:
      tags:
      - PlatformInfrastructure
      summary: Set runner logging settings
      description: Set the logging settings for this runner instance.
      operationId: set-runner-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      - in: body
        name: body
        description: The new logging settings for the runner instance
        required: true
        schema:
          "$ref": "#/definitions/LoggingSettings"
      responses:
        '200':
          description: The updated logging settings for the runner instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this runner were not found. (code:
            `runners.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete runner logging settings
      description: Reset the default logging settings for this runner instance.
      operationId: delete-runner-logging-settings
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      responses:
        '200':
          description: The updated logging settings for the runner instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '404':
          description: 'The logging settings for this runner were not found. (code:
            `runners.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
    patch:
      tags:
      - PlatformInfrastructure
      summary: Update runner logging settings
      description: All changes in the specified object are applied to the logging
        settings for this runner instance according to the JSON Merge Patch processing
        rules. Omitting existing fields causes the same values to be reapplied. Specifying
        a `null` value reverts the field to the default value, or removes the field
        when no default value exists.
      operationId: update-runner-logging-settings
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      - in: body
        name: body
        description: The logging settings to update
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The updated logging settings for the runner instance
          headers:
            x-cloud-resource-version:
              type: string
              description: The resource version, which is used to avoid update conflicts
                with concurrent operations
            x-cloud-resource-created:
              type: string
              description: The date-time when the resource was created (ISO format
                relative to UTC)
            x-cloud-resource-last-modified:
              type: string
              description: The date-time when the resource was last modified (ISO
                format relative to UTC)
          schema:
            "$ref": "#/definitions/LoggingSettings"
        '400':
          description: 'The update request is invalid. (code: `patch.request_malformed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - patch.request_malformed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'The logging settings for this runner were not found. (code:
            `runners.logging_settings.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.logging_settings.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
  "/platform/infrastructure/runners/{runner_id}/roles":
    put:
      tags:
      - PlatformInfrastructure
      summary: Set runner roles
      description: Set runner roles.
      operationId: set-runner-roles
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: runner_id
        in: path
        description: The identifier for the runner
        required: true
        type: string
      - name: bless
        in: query
        description: Assigns the runner to the roles.
        required: false
        type: boolean
      - in: body
        name: body
        description: The roles for the runner that you want to apply.
        required: true
        schema:
          "$ref": "#/definitions/RunnerRolesInfo"
      responses:
        '200':
          description: The roles for the {runner_id} specified runner are assigned.
          schema:
            "$ref": "#/definitions/RunnerRolesInfo"
        '400':
          description: 'There was an error while assigning the roles for the {runner_id}
            specified runner. Try your request again. (code: `runners.runner_set_roles_failed`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.runner_set_roles_failed
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'Unable to find the {runner_id} specified runner. Edit your
            request, then try again. (code: `runners.runner_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - runners.runner_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - Runners
  "/platform/license":
    get:
      tags:
      - PlatformInfrastructure
      summary: Get license
      description: Retrieves the license.
      operationId: get-license
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The information for the license.
          schema:
            "$ref": "#/definitions/LicenseObject"
        '404':
          description: 'The license cannot be found. (code: `license.license_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - license.license_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - License
    put:
      tags:
      - PlatformInfrastructure
      summary: Add or update license
      description: Adds a new or updates an existing license.
      operationId: set-license
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The license to add or update.
        required: true
        schema:
          "$ref": "#/definitions/LicenseObject"
      responses:
        '200':
          description: The license was updated.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The license could not be updated. (code: `license.invalid_license`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - license.invalid_license
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - License
    delete:
      tags:
      - PlatformInfrastructure
      summary: Delete license
      description: Deletes the license.
      operationId: delete-license
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The license was deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The license cannot be found. (code: `license.license_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - license.license_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Platform - License
  "/stack/instance-types":
    get:
      tags:
      - Stack
      summary: Get instance types
      description: Retrieves a list of all instance types.
      operationId: get-instance-types
      parameters: []
      responses:
        '200':
          description: List of node types
          schema:
            type: array
            items:
              "$ref": "#/definitions/InstanceTypeResource"
      x-doc:
        tag: Stack - Instance Types - CRUD
  "/stack/versions":
    get:
      tags:
      - Stack
      summary: Get stack versions
      description: By default, retrieves only the available Elastic Stack versions.
        To retrieve all of the Elastic Stack versions, use the `show_deleted parameter`.
      operationId: get-version-stacks
      produces:
      - application/json
      parameters:
      - name: show_deleted
        in: query
        description: Whether to show deleted stack versions or not
        required: false
        type: boolean
        default: false
      - name: show_unusable
        in: query
        description: Whether to show versions that are unusable by the authenticated
          user
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: The list of all available Elastic Stack versions are retrieved,
            including the template version and structure.
          schema:
            "$ref": "#/definitions/StackVersionConfigs"
      x-doc:
        tag: Stack - Versions - CRUD
    post:
      tags:
      - Stack
      summary: Upload stack pack
      description: |-
        Creates or updates an Elastic Stack pack and template.
        The endpoint supports `multipart/form-data` requests, as well as `application/zip` and `application/octet-stream` requests with a binary body. The maximum size of the payload is 1Mb.
        When the archive contains an Elastic Stack configuration that is available through the API, the configuration and template are overwritten.
      operationId: update-stack-packs
      consumes:
      - multipart/form-data
      produces:
      - application/json
      parameters:
      - name: file
        in: formData
        description: Zip file that contains one or multiple stack configurations
        required: true
        type: file
      responses:
        '200':
          description: The Elastic Stack pack successfully processed.
          schema:
            "$ref": "#/definitions/StackVersionArchiveProcessingResult"
        '400':
          description: |-
            * There is an error in the file. Choose a different file, then try again. (code: `stackpack.bad_archive`)
            * Some unexpected error occurred. (code: `stackpack.unknown_internal_error`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - stackpack.bad_archive
              - stackpack.unknown_internal_error
          schema:
            "$ref": "#/definitions/StackVersionArchiveProcessingResult"
      x-doc:
        tag: Stack - Versions - CRUD
  "/stack/versions/{version}":
    get:
      tags:
      - Stack
      summary: Get stack version
      description: Retrieves the Elastic Stack version and template.
      operationId: get-version-stack
      produces:
      - application/json
      parameters:
      - name: version
        in: path
        description: The Elastic Stack version. For example, `5.3.1` or `5.0.0-RC4`.
        required: true
        type: string
      responses:
        '200':
          description: The Elastic Stack version is found.
          schema:
            "$ref": "#/definitions/StackVersionConfig"
        '404':
          description: 'The Elastic Stack version can''t be found. (code: `stackpack.version_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - stackpack.version_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Stack - Versions - CRUD
    put:
      tags:
      - Stack
      summary: Update stack version
      description: Updates the Elastic Stack version configuration.
      operationId: update-version-stack
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: version
        in: path
        description: The Elastic Stack version. For example, `5.3.1` or `5.0.0-RC4`.
        required: true
        type: string
      - in: body
        name: body
        description: Elastic Stack configuration object
        required: true
        schema:
          "$ref": "#/definitions/StackVersionConfigPost"
      responses:
        '200':
          description: The Elastic Stack version successfully updated.
          schema:
            "$ref": "#/definitions/StackVersionConfig"
        '404':
          description: 'The Elastic Stack version can''t be found. (code: `stackpack.missing_platform_version`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - stackpack.missing_platform_version
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Stack - Versions - CRUD
    delete:
      tags:
      - Stack
      summary: Delete stack version
      description: Uses the `deleted` flag, which removes only that version of the
        Elastic Stack from the list of available versions. To restore the version,
        send an update request. For more information, see the PUT request.
      operationId: delete-version-stack
      produces:
      - application/json
      parameters:
      - name: version
        in: path
        description: The Elastic Stack version. For example, `5.3.1` or `5.0.0-RC4`.
        required: true
        type: string
      responses:
        '200':
          description: The `deleted` flag is applied to the specified Elastic Stack
            version.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The Elastic Stack version can''t be found. (code: `stackpack.version_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - stackpack.version_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Stack - Versions - CRUD
  "/trusted-environments":
    get:
      tags:
      - TrustedEnvironments
      summary: Get trusted environments
      description: Returns the list of trusted environments for the organization.
        If no organization is passed in, the organization attached to the user is
        assumed.
      operationId: get-trusted-envs
      produces:
      - application/json
      parameters:
      - name: organization_id
        in: query
        description: "(Optional) Organization Id for which to retrieve the trusted
          environments"
        required: false
        type: string
      responses:
        '200':
          description: Trusted environments for this organization
          schema:
            "$ref": "#/definitions/ElasticsearchClusterTrustSettings"
        '404':
          description: 'Organization not found. (code: `organization.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - organization.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: TrustedEnvironments
  "/user":
    get:
      tags:
      - Users
      - IamService
      summary: Fetch current user information
      description: Fetch current user information.
      operationId: get-current-user
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: User successfully fetched
          schema:
            "$ref": "#/definitions/User"
        '404':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
    patch:
      tags:
      - Users
      - IamService
      summary: Updates the current user
      description: Updates the current user.
      operationId: update-current-user
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: All changes in the specified object are applied to the current
          user according to the JSON Merge Patch processing rules. Omitting existing
          fields causes the same values to be reapplied. Specifying a `null` value
          reverts the field to the default value, or removes the field when no default
          value exists.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: User successfully updated
          schema:
            "$ref": "#/definitions/User"
        '400':
          description: |-
            * Some of the provided roles are invalid. (code: `user.roles.invalid`)
            * Some of the provided roles are forbidden. (code: `user.roles.forbidden`)
            * Trying to set a restricted field. (code: `user.restricted_field`)
            * External users cannot be modified. (code: `user.cannot_modify_external`)
            * Built-in users cannot be modified. (code: `user.cannot_modify`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.roles.invalid
              - user.roles.forbidden
              - user.restricted_field
              - user.cannot_modify_external
              - user.cannot_modify
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
  "/users":
    get:
      tags:
      - Users
      - IamService
      summary: Fetch all users
      description: Fetches all available users.
      operationId: get-users
      produces:
      - application/json
      parameters:
      - name: include_disabled
        in: query
        description: True if disabled users should be included in the response
        required: false
        type: boolean
        default: false
      responses:
        '200':
          description: Users successfully fetched
          schema:
            "$ref": "#/definitions/UserList"
      x-doc:
        tag: Users
    post:
      tags:
      - Users
      - IamService
      summary: Creates a new user
      description: Creates a new user.
      operationId: create-user
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The user to create
        required: true
        schema:
          "$ref": "#/definitions/User"
      responses:
        '200':
          description: User successfully created
          schema:
            "$ref": "#/definitions/User"
        '400':
          description: |-
            * The provided user name is invalid. Check that it is not empty and it does not contain special characters. (code: `user.user_name.invalid`)
            * Some of the provided roles are invalid. (code: `user.roles.invalid`)
            * Some of the provided roles are forbidden. (code: `user.roles.forbidden`)
            * Trying to set a restricted field. (code: `user.restricted_field`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.user_name.invalid
              - user.roles.invalid
              - user.roles.forbidden
              - user.restricted_field
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '409':
          description: 'The username is already in use. (code: `user.user_name.conflict`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.user_name.conflict
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
  "/users/auth":
    get:
      tags:
      - Authentication
      - IamService
      summary: User authentication information
      description: Provides authentication information about a user, including elevated
        permission status and TOTP device availability.
      operationId: get-authentication-info
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: User authentication information response
          schema:
            "$ref": "#/definitions/AuthenticationInfo"
      x-doc:
        tag: Authentication
  "/users/auth/_login":
    post:
      tags:
      - Authentication
      - IamService
      summary: Login to ECE
      description: Authenticates against available users.
      operationId: login
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The login request
        required: true
        schema:
          "$ref": "#/definitions/LoginRequest"
      responses:
        '200':
          description: Login successful, returns the token in the body (if 'login_state.path'
            not specified)
          schema:
            "$ref": "#/definitions/TokenResponse"
        '302':
          description: Redirects to '/sso/token#BEARER_TOKEN?state=LOGIN_STATE' with
            the fragment containing a bearer token  (if 'login_state.path' is specified)
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '401':
          description: 'The supplied authentication is invalid. (code: `root.unauthenticated`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthenticated
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '501':
          description: 'The administrator needs to configure the authentication cluster.
            (code: `authc.no_authentication_cluster`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.no_authentication_cluster
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '502':
          description: 'The authentication cluster failed to process the request.
            The response body contains details about the error. (code: `authc.authentication_cluster_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.authentication_cluster_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/auth/_logout":
    post:
      tags:
      - Authentication
      - IamService
      summary: Logout from ECE
      description: Destroys the current session.
      operationId: logout
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The current session was successfully destroyed.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '501':
          description: 'The administrator needs to configure the authentication cluster.
            (code: `authc.no_authentication_cluster`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.no_authentication_cluster
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '502':
          description: 'The authentication cluster failed to process the request.
            The response body contains details about the error. (code: `authc.authentication_cluster_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.authentication_cluster_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/auth/_refresh":
    post:
      tags:
      - Authentication
      - IamService
      summary: Refresh authentication token
      description: Issues a new authentication token.
      operationId: refresh-token
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The token refreshed successfully and was returned in the body
            of the response.
          schema:
            "$ref": "#/definitions/TokenResponse"
        '401':
          description: 'The authentication token is invalid or expired. (code: `root.unauthorized`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '501':
          description: 'The administrator needs to configure the authentication cluster.
            (code: `authc.no_authentication_cluster`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.no_authentication_cluster
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '502':
          description: 'The authentication cluster failed to process the request.
            The response body contains details about the error. (code: `authc.authentication_cluster_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.authentication_cluster_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/auth/keys":
    get:
      tags:
      - Authentication
      - IamService
      summary: Get all API keys
      description: Retrieves the metadata for all of the API keys that the user generated.
      operationId: get-api-keys
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The metadata for the API keys is retrieved.
          schema:
            "$ref": "#/definitions/ApiKeysResponse"
      x-doc:
        tag: Authentication
    post:
      tags:
      - Authentication
      - IamService
      summary: Create API key
      description: Creates a new API key.
      operationId: create-api-key
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The request to create the API key
        required: true
        schema:
          "$ref": "#/definitions/CreateApiKeyRequest"
      responses:
        '201':
          description: The API key is created and returned in the body of the response.
          schema:
            "$ref": "#/definitions/ApiKeyResponse"
        '400':
          description: 'The request is invalid. Specify a different request, then
            try again. (code: `api_keys.invalid_input`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.invalid_input
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
    delete:
      tags:
      - Authentication
      - IamService
      summary: Delete API keys
      description: Delete or invalidate API keys.
      operationId: delete-api-keys
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The request to delete API keys
        required: true
        schema:
          "$ref": "#/definitions/DeleteApiKeysRequest"
      responses:
        '200':
          description: The API keys are deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
      x-doc:
        tag: Authentication
  "/users/auth/keys/_all":
    get:
      tags:
      - Authentication
      - IamService
      summary: Get all API keys for all users
      description: Retrieves the metadata for all of the API keys for all users.
      operationId: get-users-api-keys
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: The metadata for the API keys is retrieved.
          schema:
            "$ref": "#/definitions/ApiKeysResponse"
      x-doc:
        tag: Authentication
    delete:
      tags:
      - Authentication
      - IamService
      summary: Delete API keys of multiple users
      description: Delete or invalidate the API keys for multiple users.
      operationId: delete-users-api-keys
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        description: The request to delete API keys.
        required: true
        schema:
          "$ref": "#/definitions/DeleteUsersApiKeysRequest"
      responses:
        '200':
          description: The API keys are deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
      x-doc:
        tag: Authentication
  "/users/auth/keys/{api_key_id}":
    get:
      tags:
      - Authentication
      - IamService
      summary: Get API key
      description: Retrieves the metadata for an API key.
      operationId: get-api-key
      produces:
      - application/json
      parameters:
      - name: api_key_id
        in: path
        description: The API Key ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key metadata is retrieved.
          schema:
            "$ref": "#/definitions/ApiKeyResponse"
        '404':
          description: 'The {api_key_id} can''t be found. (code: `api_keys.key_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.key_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
    delete:
      tags:
      - Authentication
      - IamService
      summary: Delete API key
      description: Delete or invalidate the API key.
      operationId: delete-api-key
      produces:
      - application/json
      parameters:
      - name: api_key_id
        in: path
        description: The API Key ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key is deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The {api_key_id} can''t be found. (code: `api_keys.key_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.key_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/auth/methods":
    get:
      tags:
      - Authentication
      - IamService
      summary: Available authentication methods
      description: Provides information about available authentication methods.
      operationId: methods
      produces:
      - application/json
      parameters: []
      responses:
        '200':
          description: Available authentication methods response
          schema:
            "$ref": "#/definitions/AvailableAuthenticationMethods"
      x-doc:
        tag: Authentication
  "/users/auth/saml/_callback":
    post:
      tags:
      - Authentication
      - IamService
      summary: SAML callback
      description: Accepts a callback request from an identity provider and authenticates
        the user.
      operationId: saml-callback
      produces:
      - application/json
      parameters:
      - name: SAMLResponse
        in: formData
        description: A message issued by the identity provider to the service provider
        required: true
        type: string
      - name: RelayState
        in: formData
        description: The optional relay state that the API (service provider) sent
          to the identity provider.
        required: false
        type: string
      responses:
        '302':
          description: Redirects to the UI endpoint with an authorization token in
            the fragment and the relay state, if it was specified during the initialization.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '401':
          description: 'The supplied SAML response is invalid. (code: `root.unauthenticated`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthenticated
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '501':
          description: 'The administrator needs to configure the authentication cluster.
            (code: `authc.no_authentication_cluster`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.no_authentication_cluster
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '502':
          description: 'The authentication cluster failed to process the request.
            The response body contains details about the error. (code: `authc.authentication_cluster_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.authentication_cluster_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/auth/saml/_init":
    get:
      tags:
      - Authentication
      - IamService
      summary: Initiate SAML protocol
      description: Calls the authentication cluster to initiate SAML Single Sign-on
        (Web Browser SSO profile) protocol and redirects the user to the identity
        provider for authentication. The authentication cluster must be configured
        prior to initiation.
      operationId: saml-init
      produces:
      - application/json
      parameters:
      - name: state
        in: query
        description: An optional relay state that is sent back to the client after
          the user is authenticated
        required: false
        type: string
      - name: realm
        in: query
        description: An optional SAML realm to use for authentication
        required: false
        type: string
      responses:
        '302':
          description: Redirects the client to the identity provider with a SAML authentication
            request
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '501':
          description: 'The administrator needs to configure the authentication cluster.
            (code: `authc.no_authentication_cluster`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.no_authentication_cluster
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '502':
          description: 'The authentication cluster failed to process the request.
            The response body contains details about the error. (code: `authc.authentication_cluster_error`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - authc.authentication_cluster_error
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/{user_id}/auth/keys":
    get:
      tags:
      - Authentication
      - IamService
      summary: Get API key metadata for all keys created by the user
      description: Retrieves metadata for all API keys created by the given user.
      operationId: get-user-api-keys
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: The user ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key metadata is retrieved.
          schema:
            "$ref": "#/definitions/ApiKeysResponse"
        '404':
          description: 'The {user_id} can''t be found. (code: `api_keys.user_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.user_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
    delete:
      tags:
      - Authentication
      - IamService
      summary: Delete API keys for a user
      description: Delete or invalidate all of the API keys for a user.
      operationId: delete-user-api-keys
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: The user ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key is deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The {user_id} can''t be found. (code: `api_keys.user_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.user_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/{user_id}/auth/keys/{api_key_id}":
    get:
      tags:
      - Authentication
      - IamService
      summary: Get a user API key
      description: Retrieves the API key metadata for a user.
      operationId: get-user-api-key
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: The user ID.
        required: true
        type: string
      - name: api_key_id
        in: path
        description: The API Key ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key metadata is retrieved.
          schema:
            "$ref": "#/definitions/ApiKeyResponse"
        '404':
          description: 'The {api_key_id} can''t be found. (code: `api_keys.key_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.key_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
    delete:
      tags:
      - Authentication
      - IamService
      summary: Delete an API key for a user
      description: Delete or invalidate an API key for a user.
      operationId: delete-user-api-key
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: The user ID.
        required: true
        type: string
      - name: api_key_id
        in: path
        description: The API Key ID.
        required: true
        type: string
      responses:
        '200':
          description: The API key is deleted.
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '404':
          description: 'The {api_key_id} can''t be found. (code: `api_keys.key_not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - api_keys.key_not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Authentication
  "/users/{user_id}/role_assignments":
    post:
      tags:
      - UserRoleAssignments
      - IamService
      summary: Add Role Assignments
      description: Adds a set of RoleAssignments to the specified User. Currently
        unavailable in self-hosted ECE.
      operationId: add-role-assignments
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: Identifier for the user; include realm name and id if required
        required: true
        type: string
      - in: body
        name: body
        description: The Role Assignments to add
        required: true
        schema:
          "$ref": "#/definitions/RoleAssignments"
      responses:
        '200':
          description: Role Assignments were successfully added to the target User
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The target user Id is invalid. (code: `role_assignments.invalid_target_user_id`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - role_assignments.invalid_target_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'Credentials were invalid. (code: `root.unauthorized`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'You are not authorised to add the specified RoleAssignments.
            (code: `role_assignments.unauthorized_role_assignments`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - role_assignments.unauthorized_role_assignments
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users - Role Assignments
    delete:
      tags:
      - UserRoleAssignments
      - IamService
      summary: Remove Role Assignments
      description: Removes a set of RoleAssignments from the specified User. Currently
        unavailable in self-hosted ECE.
      operationId: remove-role-assignments
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: user_id
        in: path
        description: Identifier for the user; include realm name and id if required
        required: true
        type: string
      - name: force
        in: query
        description: Whether or not to force the removal of role assignments (effective
          only for Platform Admins)
        required: false
        type: boolean
        default: false
      - in: body
        name: body
        description: The Role Assignments to remove
        required: true
        schema:
          "$ref": "#/definitions/RoleAssignments"
      responses:
        '200':
          description: Role Assignments were successfully removed from the target
            User
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: 'The target user Id is invalid. (code: `role_assignments.invalid_target_user_id`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - role_assignments.invalid_target_user_id
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '401':
          description: 'Credentials were invalid. (code: `root.unauthorized`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - root.unauthorized
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '403':
          description: 'You are not authorised to remove the specified RoleAssignments.
            (code: `role_assignments.unauthorized_role_assignments`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - role_assignments.unauthorized_role_assignments
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users - Role Assignments
  "/users/{user_name}":
    get:
      tags:
      - Users
      - IamService
      summary: Fetch a single user
      description: Fetches a single user.
      operationId: get-user
      produces:
      - application/json
      parameters:
      - name: user_name
        in: path
        description: Identifier for the user
        required: true
        type: string
      responses:
        '200':
          description: User successfully fetched
          schema:
            "$ref": "#/definitions/User"
        '404':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
    delete:
      tags:
      - Users
      - IamService
      summary: Deletes an existing user
      description: Deletes an existing user.
      operationId: delete-user
      produces:
      - application/json
      parameters:
      - name: user_name
        in: path
        description: Identifier for the user
        required: true
        type: string
      responses:
        '200':
          description: User successfully deleted
          schema:
            "$ref": "#/definitions/EmptyResponse"
        '400':
          description: |-
            * The user cannot be deleted. (code: `user.restricted_deletion`)
            * External users cannot be modified. (code: `user.cannot_modify_external`)
            * Built-in users cannot be modified. (code: `user.cannot_modify`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.restricted_deletion
              - user.cannot_modify_external
              - user.cannot_modify
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
    patch:
      tags:
      - Users
      - IamService
      summary: Updates an existing user
      description: Updates an existing user.
      operationId: update-user
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: user_name
        in: path
        description: Identifier for the user
        required: true
        type: string
      - in: body
        name: body
        description: All changes in the specified object are applied to the user according
          to the JSON Merge Patch processing rules. Omitting existing fields causes
          the same values to be reapplied. Specifying a `null` value reverts the field
          to the default value, or removes the field when no default value exists.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: User successfully updated
          schema:
            "$ref": "#/definitions/User"
        '400':
          description: |-
            * Some of the provided roles are invalid. (code: `user.roles.invalid`)
            * Some of the provided roles are forbidden. (code: `user.roles.forbidden`)
            * Trying to set a restricted field. (code: `user.restricted_field`)
            * External users cannot be modified. (code: `user.cannot_modify_external`)
            * Built-in users cannot be modified. (code: `user.cannot_modify`)
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.roles.invalid
              - user.roles.forbidden
              - user.restricted_field
              - user.cannot_modify_external
              - user.cannot_modify
          schema:
            "$ref": "#/definitions/BasicFailedReply"
        '404':
          description: 'User not found. (code: `user.not_found`)'
          headers:
            x-cloud-error-codes:
              type: string
              description: The error codes associated with the response
              enum:
              - user.not_found
          schema:
            "$ref": "#/definitions/BasicFailedReply"
      x-doc:
        tag: Users
securityDefinitions:
  apiKey:
    type: apiKey
    name: Authorization
    in: header
  basicAuth:
    type: basic
definitions:
  AccountResponse:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The account's identifier
      trust:
        description: Settings related to the level of trust of the clusters in this
          account
        "$ref": "#/definitions/AccountTrustSettings"
    description: An account is the entity that owns deployments, and it is accessed
      by users. Accounts are isolated from each other.
  AccountTrustRelationship:
    type: object
    required:
    - account_id
    - trust_all
    properties:
      account_id:
        type: string
        description: the ID of the Account
      name:
        type: string
        description: A human readable name of the trust relationship
      trust_all:
        type: boolean
        description: If true, all clusters in this account will by default be trusted
          and the `trust_allowlist` is ignored.
      trust_allowlist:
        type: array
        description: The list of clusters to trust. Only used when `trust_all` is
          false.
        items:
          type: string
    description: The trust relationship with the clusters of one account.
  AccountTrustSettings:
    type: object
    required:
    - trust_all
    properties:
      trust_all:
        type: boolean
        description: If true, all clusters in this account will by default trust all
          other clusters in the same account
    description: Settings related to the level of trust of the clusters in this account
  AccountUpdateRequest:
    type: object
    properties:
      trust:
        description: Settings related to the level of trust of the clusters in this
          account
        "$ref": "#/definitions/AccountTrustSettings"
    description: A request to update an account
  ActiveDirectoryGroupSearch:
    type: object
    properties:
      base_dn:
        type: string
        description: Specifies a container DN to search for groups in which the user
          has membership
      scope:
        type: string
        description: Specifies whether the group search should be sub_tree, one_level
          or base. one_level only searches objects directly contained within the base_dn.
          The default sub_tree searches all objects contained under base_dn. base
          specifies that the base_dn is a group object, and that it is the only group
          considered.
        enum:
        - sub_tree
        - one_level
        - base
    description: Elasticsearch Security Active Directory realm group search configuration
  ActiveDirectorySecurityRealmLoadBalance:
    type: object
    properties:
      type:
        type: string
        description: The behavior to use when there are multiple Active Directory
          URLs defined
        enum:
        - failover
        - dns_failover
        - round_robin
        - dns_round_robin
      cache_ttl:
        type: string
        description: When using dns_failover or dns_round_robin as the load balancing
          type, this setting controls the amount of time to cache DNS lookups. Defaults
          to 1h.
    description: Elasticsearch Security Active Directory load balancing configuration
  ActiveDirectorySecurityRealmRoleMappingRule:
    type: object
    required:
    - roles
    - type
    - value
    properties:
      type:
        type: string
        description: The type of role mapping rule
        enum:
        - user_dn
        - group_dn
      roles:
        type: array
        description: The roles that are applied when the mapping rule is successfully
          evaluated
        items:
          type: string
      value:
        type: string
        description: The value to match when evaluating this rule
    description: Elasticsearch Security Active Directory role mapping rule
  ActiveDirectorySecurityRealmRoleMappingRules:
    type: object
    required:
    - default_roles
    - rules
    properties:
      default_roles:
        type: array
        description: The default roles applied to all users
        items:
          type: string
      rules:
        type: array
        description: The role mapping rules to evaluate
        items:
          "$ref": "#/definitions/ActiveDirectorySecurityRealmRoleMappingRule"
    description: Elasticsearch Security Active Directory role mapping rule set
  ActiveDirectorySettings:
    type: object
    required:
    - bind_anonymously
    - domain_name
    - id
    - name
    - urls
    properties:
      id:
        type: string
        description: The identifier for the security realm
      name:
        type: string
        description: The friendly name of the security realm
      urls:
        type: array
        description: The Active Directory URLs used to authenticate against, in the
          format ldap[s]://server:port. Note that ldap and ldaps protocols cannot
          be mixed together.
        items:
          type: string
      domain_name:
        type: string
        description: Specifies the domain name of the Active Directory (the forest
          root domain name).
      bind_anonymously:
        type: boolean
        description: When true, bindDb credentials are ignored
      group_search:
        description: The Active Directory group search configuration
        "$ref": "#/definitions/ActiveDirectoryGroupSearch"
      user_search:
        description: The Active Directory user search configuration.
        "$ref": "#/definitions/ActiveDirectoryUserSearch"
      bind_dn:
        type: string
        description: The distinguished name of the user that is used to bind to the
          Active Directory and perform searches.
      bind_password:
        type: string
        description: The user password that is used to bind to the Active Directory
          server.
      load_balance:
        description: The Active Directory load balancing behavior
        "$ref": "#/definitions/ActiveDirectorySecurityRealmLoadBalance"
      certificate_url:
        type: string
        description: The SSL trusted CA certificate bundle URL. The bundle should
          be a zip file containing a single keystore file 'keystore.ks' in the directory
          '/active_directory/:id/truststore', where :id is the value of the [id] field.
      certificate_url_truststore_password:
        type: string
        description: The password to the certificate bundle URL truststore
      certificate_url_truststore_type:
        type: string
        description: The format of the truststore file. Should be jks to use the Java
          Keystore format or PKCS12 to use PKCS#12 files.  The default is jks.
        enum:
        - jks
        - PKCS12
      role_mappings:
        description: The role mapping rules associated with the security realm
        "$ref": "#/definitions/ActiveDirectorySecurityRealmRoleMappingRules"
      enabled:
        type: boolean
        description: When true, enables the security realm
      order:
        type: integer
        format: int32
        description: The order that the security realm is evaluated
      override_yaml:
        type: string
        description: 'Advanced configuration options in YAML format. Any settings
          defined here will override any configuration set via the API. Note that
          all keys should omit the ''xpack.security.authc.realms.active_directory.{realm_id}''
          prefix. For example, when the realm ID is set to ''ad1'', the advanced configuration
          ''xpack.security.authc.realms.active_directory.ad1.ssl.verification_mode:
          full'' should be added as ''ssl.verification_mode: full''.'
    description: Elasticsearch Security Active Directory realm configuration
  ActiveDirectoryUserSearch:
    type: object
    properties:
      base_dn:
        type: string
        description: Specifies a container DN to search for users
      scope:
        type: string
        description: The scope of the user search. Valid values are sub_tree, one_level,
          or base. one_level only searches objects directly contained in the base_dn.
          sub_tree searches all objects contained in base_dn. base specifies that
          the base_dn is the user object, and that it is the only user considered.
          Defaults to sub_tree.
        enum:
        - sub_tree
        - one_level
        - base
      filter:
        type: string
        description: Specifies the filter to search the directory and match an entry
          with the username provided by the user. Defaults to (uid={0}). {0} is substituted
          with the username provided when searching.
    description: Elasticsearch Security Active Directory realm user search configuration
  AdminconsoleInfo:
    type: object
    required:
    - adminconsole_id
    properties:
      adminconsole_id:
        type: string
        description: Identifier for this adminconsole
    description: Information for the adminconsole.
  AdminconsolesOverview:
    type: object
    required:
    - adminconsoles
    properties:
      adminconsoles:
        type: array
        description: List of adminconsoles
        items:
          "$ref": "#/definitions/AdminconsoleInfo"
    description: Information about all of the adminconsoles.
  AllocatedInstancePlansInfo:
    type: object
    required:
    - pending
    properties:
      pending:
        type: boolean
        description: Whether or not there is a pending plan.
      version:
        type: string
        description: The version of the current plan, falling back to that of the
          pending plan if it exists.
      zone_count:
        type: integer
        format: int32
        description: The number of zones in the current plan, falling back to that
          of the pending plan if it exists.
    description: The plan information for the Elasticsearch cluster associated with
      the Kibana instance or APM Server.
  AllocatedInstanceStatus:
    type: object
    required:
    - cluster_id
    - cluster_type
    - instance_name
    - node_memory
    properties:
      cluster_type:
        type: string
        description: Type of instance that is running
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      cluster_id:
        type: string
        description: Identifier for the cluster this instance belongs
      cluster_name:
        type: string
        description: Name of cluster this instance belongs, if available
      instance_name:
        type: string
        description: Instance ID of the instance
      node_memory:
        type: integer
        format: int32
        description: Memory assigned to this instance
      healthy:
        type: boolean
        description: Indicates whether the instance is healthy
      cluster_healthy:
        type: boolean
        description: Indicates whether the cluster the instance belongs to is healthy
      instance_configuration_id:
        type: string
        description: The instance configuration id of this instance
      moving:
        type: boolean
        description: Indicates whether the instance is vacating away from this allocator.
          Note that this is currently not populated when returned from the search
          endpoint.
      plans_info:
        description: The plans associated with the current instance. Note that this
          is currently not populated when returned from the search endpoint.
        "$ref": "#/definitions/AllocatedInstancePlansInfo"
      deployment_id:
        type: string
        description: The id of the deployment this cluster belongs to.
    description: The status of the allocated Kibana instance or APM Server.
  AllocatorBuildInfo:
    type: object
    properties:
      commit_hash:
        type: string
        description: Git commit hash
      version:
        type: string
        description: Version of the artifact
    description: Information about the build that is running on the allocator.
  AllocatorCapacity:
    type: object
    required:
    - memory
    - storage
    properties:
      memory:
        "$ref": "#/definitions/AllocatorCapacityMemory"
      storage:
        description: The storage capacity of the allocator.
        "$ref": "#/definitions/AllocatorCapacityStorage"
      available_cpus:
        type: integer
        format: int32
        description: Total number of CPUs available on this allocator
      additional_master_bonus:
        type: number
        format: float
        description: Additional bonus CPU shares available to Elasticsearch master
          instances
    description: The total and used capacity of the allocator.
  AllocatorCapacityMemory:
    type: object
    required:
    - total
    - used
    properties:
      total:
        type: integer
        format: int32
        description: Total memory in MB capacity installed on this allocator
      used:
        type: integer
        format: int32
        description: Used memory in MB used by instances assigned to this allocator
    description: The available and used memory of the allocator.
  AllocatorCapacityStorage:
    type: object
    required:
    - total
    properties:
      total:
        type: integer
        format: int64
        description: Total storage in MiB capacity installed on this allocator
    description: The storage capacity of the allocator.
  AllocatorHealthChecks:
    type: object
    required:
    - has_instances
    - is_connected_to_zk
    - is_docker_healthy
    properties:
      is_docker_healthy:
        type: boolean
        description: Check performed by the allocator to figure out if docker is healthy
      is_connected_to_zk:
        type: boolean
        description: Whether the allocator is connected to zk or not
      has_instances:
        type: boolean
        description: Whether the allocator has allocated instances
    description: The checks performed to determine if an allocator is healthy or not.
  AllocatorHealthStatus:
    type: object
    required:
    - connected
    - healthy
    - maintenance_mode
    properties:
      connected:
        type: boolean
        description: Whether the allocator is connected
      healthy:
        type: boolean
        description: Whether the allocator is healthy, meaning it is either connected
          or has no instances
      health_checks:
        description: Checks used to determine if an allocator is healthy or not
        "$ref": "#/definitions/AllocatorHealthChecks"
      maintenance_mode:
        type: boolean
        description: Whether the allocator is in maintenance mode (meaning that new
          workload won't be assigned to it)
      maintenance_mode_timestamp:
        type: string
        format: date-time
        description: Timestamp when allocator last entered or exited maintenance mode
    description: The health status of the allocator.
  AllocatorInfo:
    type: object
    required:
    - allocator_id
    - capacity
    - external_links
    - features
    - host_ip
    - instances
    - metadata
    - public_hostname
    - settings
    - status
    - zone_id
    properties:
      status:
        "$ref": "#/definitions/AllocatorHealthStatus"
      allocator_id:
        type: string
        description: Identifier for this allocator
      zone_id:
        type: string
        description: Identifier of the zone
      host_ip:
        type: string
        description: Host IP of this allocator
      public_hostname:
        type: string
        description: Public hostname of this allocator
      capacity:
        "$ref": "#/definitions/AllocatorCapacity"
      settings:
        "$ref": "#/definitions/AllocatorSettings"
      instances:
        type: array
        items:
          "$ref": "#/definitions/AllocatedInstanceStatus"
      metadata:
        type: array
        description: Arbitrary metadata associated with this allocator
        items:
          "$ref": "#/definitions/MetadataItem"
      build_info:
        description: Build Info of the artifact
        "$ref": "#/definitions/AllocatorBuildInfo"
      features:
        type: array
        description: List of features associated with this allocator. Note this is
          only present for backwards compatibility purposes and is scheduled for removal
          in the next major version release.
        items:
          type: string
      external_links:
        type: array
        description: External resources related to this allocator.
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      region:
        type: string
        description: The region that this allocator belongs to. Only populated in
          SaaS or federated ECE.
    description: The overview information for the allocator.
  AllocatorMoveRequest:
    type: object
    required:
    - from
    properties:
      from:
        type: string
        description: The allocator id off which all instances in the cluster should
          be moved
      to:
        type: array
        description: An optional list of allocator ids to which the instance(s) should
          be moved. If not specified then any available allocator can be used (including
          the current one if it is healthy)
        items:
          type: string
      allocator_down:
        type: boolean
        description: 'Tells the infrastructure that all instances on the allocator
          should be considered as permanently down when deciding how to migrate data
          to new nodes. If left blank then the system will auto-decide (currently:
          will treat the allocator as up)'
    description: As part of the upgrade plan, identifies the move requests for the
      Kibana instances or APM Servers on the allocators.
  AllocatorOverview:
    type: object
    required:
    - zones
    properties:
      zones:
        type: array
        items:
          "$ref": "#/definitions/AllocatorZoneInfo"
    description: The overview information for the installed allocators.
  AllocatorSettings:
    type: object
    properties:
      capacity:
        type: integer
        format: int32
        description: A memory capacity (in MB) that overrides the capacity defined
          during installation - requires separate restart of Allocator services on
          each host to take full effect.
    description: The settings for the allocator.
  AllocatorZoneInfo:
    type: object
    required:
    - allocators
    - zone_id
    properties:
      zone_id:
        type: string
        description: Identifier of the zone
      allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorInfo"
    description: The allocators for the specified zone.
  AllocatorsSummary:
    type: object
    required:
    - healthy
    - zone_summaries
    properties:
      healthy:
        type: boolean
        description: Whether all allocators are healthy
      zone_summaries:
        type: array
        description: Summarized information on allocators in each zone
        items:
          "$ref": "#/definitions/AllocatorsZoneSummary"
    description: Summarized information about allocators.
  AllocatorsZoneSummary:
    type: object
    required:
    - connected_allocators
    - connected_capacity
    - disconnected_allocators
    - healthy_allocators
    - in_maintenance_allocators
    - instances
    - max_available_capacity
    - total_allocators
    - zone_id
    properties:
      zone_id:
        type: string
        description: Identifier of the zone
      total_allocators:
        type: integer
        format: int32
        description: Total number of allocators
      healthy_allocators:
        type: integer
        format: int32
        description: Number of healthy allocators
      connected_allocators:
        type: integer
        format: int32
        description: Number of connected allocators
      disconnected_allocators:
        type: integer
        format: int32
        description: Number of disconnected allocators
      in_maintenance_allocators:
        type: integer
        format: int32
        description: Number of connected allocators in maintenance
      connected_capacity:
        type: integer
        format: int32
        description: Capacity of connected allocators in megabytes
      max_available_capacity:
        type: integer
        format: int32
        description: Maximum capacity available in one allocator in megabytes
      instances:
        type: integer
        format: int32
        description: Number of instances across all allocators in the region
    description: Summary of the allocators for the specified zone.
  ApiBaseUrlData:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: The configured base Url
    description: Information about the API base Url
  ApiKeyResponse:
    type: object
    required:
    - creation_date
    - description
    - id
    properties:
      id:
        type: string
        description: The API key ID.
      user_id:
        type: string
        description: The user ID.
      organization_id:
        type: string
        description: The organization ID linked to the API key
      description:
        type: string
        description: 'The API key description. TIP: Useful when you have multiple
          API keys.'
      key:
        type: string
        description: 'The API key. TIP: Since the API key is returned only once, save
          it in a safe place.'
      creation_date:
        type: string
        format: date-time
        description: The date/time for when the API key is created.
      expiration_date:
        type: string
        format: date-time
        description: The date/time when the API key expires.
      role_assignments:
        description: The optional roles for the API key. Currently unavailable in
          self-hosted ECE.
        "$ref": "#/definitions/RoleAssignments"
    description: The response model for an API key.
  ApiKeysResponse:
    type: object
    required:
    - keys
    properties:
      keys:
        type: array
        description: The list of API keys.
        items:
          "$ref": "#/definitions/ApiKeyResponse"
    description: The response model for the API keys.
  Apm:
    type: object
    required:
    - backend_plan
    - display_name
    - elasticsearch_cluster_ref_id
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name (defaults to the generated cluster id
          if not specified)
      elasticsearch_cluster_ref_id:
        type: string
        description: The user-specified id of the Elasticsearch Cluster that this
          will link to
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for an APM resource
  ApmConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the Apm cluster (must be one of the ECE supported
          versions, and won't work unless it matches the APM version. Leave blank
          to auto-detect version.)
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/ApmSystemSettings"
      user_settings_json:
        type: object
        description: An arbitrary JSON object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_yaml' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Apm settings)
      user_settings_yaml:
        type: string
        description: An arbitrary YAML object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_json' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (These
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Apm settings)
      user_settings_override_json:
        type: object
        description: An arbitrary JSON object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_yaml' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Apm
          settings)
      user_settings_override_yaml:
        type: string
        description: An arbitrary YAML object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_json' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Apm
          settings)
    description: The configuration options for the APM Server.
  ApmCrudResponse:
    type: object
    required:
    - secret_token
    properties:
      apm_id:
        type: string
        description: For an operation creating or updating an APM server, the Id of
          that server
      secret_token:
        type: string
        description: The secret token for accessing the server
      diagnostics:
        type: object
        description: If the endpoint is called with URL param 'validate_only=true',
          then this contains advanced debug info (the internal plan representation)
    description: The response to an APM CRUD (create/update-plan) request.
  ApmInfo:
    type: object
    required:
    - elasticsearch_cluster
    - external_links
    - healthy
    - id
    - name
    - plan_info
    - status
    - topology
    properties:
      id:
        type: string
        description: The id of the APM
      name:
        type: string
        description: The name of the APM
      elasticsearch_cluster:
        "$ref": "#/definitions/TargetElasticsearchCluster"
      deployment_id:
        type: string
        description: The id of the deployment that this APM Server belongs to.
      healthy:
        type: boolean
        description: 'Whether the APM is healthy or not (one or more of the info subsections
          will have healthy: false)'
      status:
        type: string
        description: APM status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/ApmPlansInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      external_links:
        type: array
        description: External resources related to the APM
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        description: The cluster metadata settings for the APM
        "$ref": "#/definitions/ApmSettings"
      region:
        type: string
        description: The region that this APM belongs to. Only populated in SaaS or
          federated ECE.
      apm_server_mode:
        type: string
        description: The mode APM is operating in.
        enum:
        - standalone
        - managed
    description: The overview information for the APM Server.
  ApmPayload:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for APM
      elasticsearch_cluster_ref_id:
        type: string
        description: Alias to the Elasticsearch Cluster to attach APM to
      display_name:
        type: string
        description: 'The human readable name for the APM cluster (default: takes
          the name of its Elasticsearch cluster)'
      region:
        type: string
        description: The region where this resource exists
      plan:
        "$ref": "#/definitions/ApmPlan"
      settings:
        description: The settings for building this APM cluster
        "$ref": "#/definitions/ApmSettings"
    description: An APM creation request paired with the alias of the Elasticsearch
      cluster it should be paired with
  ApmPlan:
    type: object
    required:
    - apm
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/ApmTopologyElement"
      apm:
        "$ref": "#/definitions/ApmConfiguration"
      transient:
        "$ref": "#/definitions/TransientApmPlanConfiguration"
    description: The plan for the APM Server.
  ApmPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB)
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, ie even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: Set to 'forced' to force a reboot as part of the upgrade plan
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default), the plan fails if it determines that
          the request can result in unsafe operations. Setting this flag overrides
          some of these check restraints.
    description: The plan control configuration options for the APM Server.
  ApmPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the APM) started
          (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/ApmPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the APM Server plan.
  ApmPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/ApmPlanInfo"
      pending:
        "$ref": "#/definitions/ApmPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/ApmPlanInfo"
    description: Information about current, pending, and past APM Server plans.
  ApmResourceInfo:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/ApmInfo"
    description: Describes an APM resource belonging to a Deployment
  ApmSettings:
    type: object
    properties:
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
    description: The settings for the APM Server.
  ApmSubInfo:
    type: object
    required:
    - apm_id
    - enabled
    properties:
      apm_id:
        type: string
        description: The APM cluster Id
      enabled:
        type: boolean
        description: Whether the associated APM cluster is currently available
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
    description: Information about the APM Servers associated with the Elasticsearch
      cluster.
  ApmSystemSettings:
    type: object
    properties:
      elasticsearch_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      kibana_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      elasticsearch_username:
        type: string
        description: Optionally override the account within APM - defaults to a system
          account that always exists (if specified, the password must also be specified).
          Note that this field is never returned from the API, it is write only.
      elasticsearch_password:
        type: string
        description: Optionally override the account within APM - defaults to a system
          account that always exists (if specified, the username must also be specified).
          Note that this field is never returned from the API, it is write only.
      secret_token:
        type: string
        description: Optionally override the secret token within APM - defaults to
          the previously existing secretToken
      debug_enabled:
        type: boolean
        description: Optionally enable debug mode for APM servers - defaults false
    description: "A structure that defines a curated subset of the APM Server settings.
      \nTIP: To define the complete set of APM Server setting, use `ApmSystemSettings`
      with `user_settings_override_` and `user_settings_`."
  ApmTopologyElement:
    type: object
    properties:
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: number of zones in which nodes will be placed
      apm:
        "$ref": "#/definitions/ApmConfiguration"
    description: Defines the topology of the APM Server nodes. For example, the number
      or capacity of the nodes, and where you can allocate the nodes.
  AppSearch:
    type: object
    required:
    - backend_plan
    - display_name
    - elasticsearch_cluster_ref_id
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name (defaults to the generated cluster id
          if not specified)
      elasticsearch_cluster_ref_id:
        type: string
        description: The user-specified id of the Elasticsearch Cluster that this
          will link to
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for an AppSearch resource
  AppSearchConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the AppSearch cluster (must be one of the ECE
          supported versions, and won't work unless it matches the Elasticsearch version.
          Leave blank to auto-detect version.)
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/AppSearchSystemSettings"
      user_settings_json:
        type: object
        description: An arbitrary JSON object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_yaml' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of AppSearch settings)
      user_settings_yaml:
        type: string
        description: An arbitrary YAML object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_json' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (These
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of AppSearch settings)
      user_settings_override_json:
        type: object
        description: An arbitrary JSON object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_yaml' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of AppSearch
          settings)
      user_settings_override_yaml:
        type: string
        description: An arbitrary YAML object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_json' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of AppSearch
          settings)
  AppSearchInfo:
    type: object
    required:
    - elasticsearch_cluster
    - external_links
    - healthy
    - id
    - name
    - plan_info
    - status
    - topology
    properties:
      id:
        type: string
        description: The id of the App Search
      name:
        type: string
        description: The name of the App Search
      elasticsearch_cluster:
        "$ref": "#/definitions/TargetElasticsearchCluster"
      deployment_id:
        type: string
        description: The id of the deployment that this App Search belongs to.
      healthy:
        type: boolean
        description: 'Whether the App Search is healthy or not (one or more of the
          info subsections will have healthy: false)'
      status:
        type: string
        description: App Search status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/AppSearchPlansInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      external_links:
        type: array
        description: External resources related to the App Search
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        description: The cluster metadata settings for the App Search
        "$ref": "#/definitions/AppSearchSettings"
      region:
        type: string
        description: The region that this App Search belongs to. Only populated in
          SaaS or federated ECE.
    description: The overview information for the App Search Server.
  AppSearchNodeTypes:
    type: object
    required:
    - appserver
    - worker
    properties:
      appserver:
        type: boolean
        description: Defines whether this instance should run as Application/API server
      worker:
        type: boolean
        description: Defines whether this instance should run as background worker
    description: Node types to enable for an AppSearch instance
  AppSearchPayload:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for AppSearch
      elasticsearch_cluster_ref_id:
        type: string
        description: Alias to the Elasticsearch Cluster to attach AppSearch to
      display_name:
        type: string
        description: 'The human readable name for the AppSearch cluster (default:
          takes the name of its Elasticsearch cluster)'
      region:
        type: string
        description: The region where this resource exists
      plan:
        "$ref": "#/definitions/AppSearchPlan"
      settings:
        description: The settings for building this AppSearch cluster
        "$ref": "#/definitions/AppSearchSettings"
    description: An AppSearch creation request paired with the alias of the Elasticsearch
      cluster it should be paired with
  AppSearchPlan:
    type: object
    required:
    - appsearch
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/AppSearchTopologyElement"
      appsearch:
        "$ref": "#/definitions/AppSearchConfiguration"
      transient:
        "$ref": "#/definitions/TransientAppSearchPlanConfiguration"
    description: The plan for the App Search cluster.
  AppSearchPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB)
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, ie even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: Set to 'forced' to force a reboot as part of the upgrade plan
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default), the plan fails if it determines that
          the request can result in unsafe operations. Setting this flag overrides
          some of these check restraints.
  AppSearchPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the App Search)
          started (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/AppSearchPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the App Search Server plan.
  AppSearchPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/AppSearchPlanInfo"
      pending:
        "$ref": "#/definitions/AppSearchPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/AppSearchPlanInfo"
    description: Information about current, pending, and past App Search Server plans.
  AppSearchResourceInfo:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/AppSearchInfo"
    description: Describes an App Search resource belonging to a Deployment
  AppSearchSettings:
    type: object
    properties:
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
    description: The settings for the App Search.
  AppSearchSubInfo:
    type: object
    required:
    - app_search_id
    - enabled
    properties:
      app_search_id:
        type: string
        description: The App Search Id
      enabled:
        type: boolean
        description: Whether the associated App Search is currently available
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
    description: Information about the APM Servers associated with the Elasticsearch
      cluster.
  AppSearchSystemSettings:
    type: object
    properties:
      elasticsearch_url:
        type: string
        description: Optionally override the URL to which to send data (for advanced
          users only, if unspecified the system selects an internal URL)
      elasticsearch_username:
        type: string
        description: Optionally override the account within App Search - defaults
          to a system account that always exists (if specified, the password must
          also be specified). Note that this field is never returned from the API,
          it is write only.
      elasticsearch_password:
        type: string
        description: Optionally override the account within App Search - defaults
          to a system account that always exists (if specified, the username must
          also be specified). Note that this field is never returned from the API,
          it is write only.
      secret_session_key:
        type: string
        description: Optionally override the secret session key within App Search
          - defaults to the previously existing secretSession. Note that this field
          is never returned from the API, it is write only.
    description: This structure defines a curated subset of the AppSearch settings.
      (This field together with 'user_settings_override*' and  'user_settings*' defines
      the total set of AppSearch settings)
  AppSearchTopologyElement:
    type: object
    properties:
      node_type:
        description: Defines the AppSearch node type
        "$ref": "#/definitions/AppSearchNodeTypes"
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: number of zones in which nodes will be placed
      appsearch:
        "$ref": "#/definitions/AppSearchConfiguration"
    description: Defines the topology of the AppSearch nodes (eg number/capacity of
      nodes, and where they can be allocated)
  AuthenticationInfo:
    type: object
    required:
    - has_elevated_permissions
    - refresh_token_url
    properties:
      has_totp_device:
        type: boolean
        description: 'Deprecated: True if the user has an available TOTP device'
      totp_device_source:
        type: string
        description: 'Deprecated: The TOTP device source'
      has_elevated_permissions:
        type: boolean
        description: 'Deprecated: True if the user has elevated permissions'
      elevated_permissions_expire_at:
        type: string
        format: date-time
        description: 'Deprecated: The UTC time when elevated permissions will expire,
          if the user has elevated permissions'
      totp_device_source_enable_mfa_href:
        type: string
        description: 'Deprecated: URL for configuring an MFA TOTP device.  Does not
          apply when totp_device_source is ''native''.'
      refresh_token_url:
        type: string
        description: The API to be used when refreshing the current user's JWT
      expires_at:
        type: string
        format: date-time
        description: The UTC time when current authentication will expire. Applies
          to only token based authentication
    description: A user's authentication info
  AutoOpsSettings:
    type: object
    required:
    - status
    properties:
      status:
        type: string
        description: See AutoOps integration status for this deployment.
        enum:
        - connected
        - not_connected
        - excluded
    description: AutoOps settings for this deployment.
  AutodetectStrategyConfig:
    type: object
    description: A strategy that lets constructor choose the most optimal way to execute
      the plan.
  AvailableAuthenticationMethods:
    type: object
    required:
    - openid
    - password
    - saml
    - sso_methods
    properties:
      password:
        type: boolean
        description: Indicates that username and password authentication is available.
      saml:
        type: boolean
        description: Indicates that SAML single sign-on authentication is available.
      openid:
        type: boolean
        description: |+
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field is no longer used and will always be false.

      sso_methods:
        type: array
        description: Lists details for the available single sign-on methods.
        items:
          "$ref": "#/definitions/SsoAuthenticationMethodInfo"
    description: 'Specifies the authentication methods that are enabled on the Elasticsearch
      cluster. NOTE: When all fields are `false`, only the Platform admin and Platform
      viewer are available.'
  Balance:
    type: object
    required:
    - available
    - line_items
    - remaining
    properties:
      available:
        type: number
        format: double
        description: Available balance
      remaining:
        type: number
        format: double
        description: Remaining balance
      line_items:
        type: array
        description: A collection of order line items for for an organization
        items:
          "$ref": "#/definitions/SimplifiedLineItem"
    description: The available balance for an organization
  BasicFailedReply:
    type: object
    required:
    - errors
    properties:
      errors:
        type: array
        description: A list of errors that occurred in the failing request
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
  BasicFailedReplyElement:
    type: object
    required:
    - code
    - message
    properties:
      code:
        type: string
        description: A structured code representing the error type that occurred
      message:
        type: string
        description: A human readable message describing the error that occurred
      fields:
        type: array
        description: If the error can be tied to a specific field or fields in the
          user request, this lists those fields
        items:
          type: string
  Blessing:
    type: object
    required:
    - value
    properties:
      value:
        type: boolean
        description: Whether something is blessed or not
    description: Whether something is blessed or not
  Blessings:
    type: object
    required:
    - runner_ids_to_blessing
    properties:
      runner_ids_to_blessing:
        type: object
        description: A mapping of Runner Ids to whether or not they are blessed to
          run the associated role
        additionalProperties:
          "$ref": "#/definitions/Blessing"
    description: Describes whether certain runners are blessed to run a Role.
  BlessingsWithMeta:
    type: object
    required:
    - meta
    - value
    properties:
      value:
        description: The blessings
        "$ref": "#/definitions/Blessings"
      meta:
        description: The metadata
        "$ref": "#/definitions/Metadata"
    description: Persisted Blessings along with metadata
  BoolQuery:
    type: object
    properties:
      must:
        type: array
        items:
          "$ref": "#/definitions/QueryContainer"
      should:
        type: array
        items:
          "$ref": "#/definitions/QueryContainer"
      must_not:
        type: array
        items:
          "$ref": "#/definitions/QueryContainer"
      filter:
        type: array
        items:
          "$ref": "#/definitions/QueryContainer"
      minimum_should_match:
        type: integer
        format: int32
        description: The minimum number of optional should clauses to match.
    description: A query for documents that match boolean combinations of other queries.
  CapacityConstraintsResource:
    type: object
    required:
    - max
    - min
    properties:
      min:
        type: integer
        format: int64
        description: Min capacity
      max:
        type: integer
        format: int64
        description: Max capacity
    description: Specifies the maximum and minimum capacity constraints.
  CertificateAuthority:
    type: object
    required:
    - public_certificates
    - recommended_trust_restriction
    properties:
      recommended_trust_restriction:
        type: string
        description: The trust restriction expression to use that would provide trust
          with the Elasticsearch nodes of this deployment
      public_certificates:
        type: array
        description: The certificates used by this certificate authority. The active
          certificate is the one that has been used to sign the current certificates
          of the Elasticsearch instances. All others are either certificates used
          in the past or certificates that will be used in the future when the currently
          active certificate expires.
        items:
          "$ref": "#/definitions/PublicCertificate"
    description: The certificate authority used to sign the certificates of this deployment
  CertificateMetaData:
    type: object
    required:
    - fingerprint
    - valid_from
    - valid_to
    properties:
      fingerprint:
        type: string
        description: The fingerprint of the certificate
      valid_to:
        type: string
        format: date-time
        description: The expiry date of the certificate in UTC
      valid_from:
        type: string
        format: date-time
        description: The valid from date of the certificate in UTC
      also_trusted_by:
        type: array
        description: Other deployments also trusting this certificate
        items:
          type: string
    description: The certificate MetaData
  ChainStatus:
    type: object
    required:
    - expiration_date
    - first_certificate_to_expire
    properties:
      expiration_date:
        type: string
        format: date-time
        description: When this chain is going to expire due any of its certificates
          expiring (ISO format in UTC)
      first_certificate_to_expire:
        type: string
        description: Information on the first certificate expiring in the chain
    description: Chain expiration information
  ChangeSourceInfo:
    type: object
    required:
    - action
    - date
    - facilitator
    properties:
      facilitator:
        type: string
        description: The service where the change originated from
      action:
        type: string
        description: The type of plan change that was initiated
      date:
        type: string
        format: date-time
        description: The time the change was initiated
      user_id:
        type: string
        description: The user that requested the change
      admin_id:
        type: string
        description: The admin user that requested the change
      remote_addresses:
        type: array
        description: The host addresses of the user that originated the change
        items:
          type: string
    description: A container for information about the source of a change.
  ChartItem:
    type: object
    required:
    - timestamp
    - values
    properties:
      timestamp:
        type: integer
        format: int64
        description: Axis X position
      values:
        type: array
        description: the collection of values to plot the chart item
        items:
          "$ref": "#/definitions/ChartItemValue"
    description: Chart Item
  ChartItemValue:
    type: object
    required:
    - id
    - name
    - value
    properties:
      id:
        type: string
        description: The id of chart item value
      name:
        type: string
        description: The name of the chart item value
      value:
        type: number
        format: double
        description: The actual value of the chart item value
    description: A ChartItem value
  ChartItems:
    type: object
    required:
    - data
    properties:
      data:
        type: array
        description: The list of chart item
        items:
          "$ref": "#/definitions/ChartItem"
    description: A collection of ChartItems
  ClusterCredentials:
    type: object
    required:
    - password
    - username
    properties:
      username:
        type: string
        description: The username of the newly created cluster
      password:
        type: string
        description: The password of the newly created cluster
    description: The username and password for the new Elasticsearch cluster, which
      is returned from the Elasticsearch cluster `create` command.
  ClusterCurationSettings:
    type: object
    required:
    - specs
    properties:
      specs:
        type: array
        description: Specifications for curation
        items:
          "$ref": "#/definitions/ClusterCurationSpec"
    description: The index curation settings for an Elasticsearch cluster.
  ClusterCurationSpec:
    type: object
    required:
    - index_pattern
    - trigger_interval_seconds
    properties:
      index_pattern:
        type: string
        description: Index matching pattern
      trigger_interval_seconds:
        type: integer
        format: int32
        description: Number of seconds after index creation to trigger this spec
    description: Specifies the conditions to trigger an Elasticsearch cluster curation.
  ClusterInstanceConfigurationInfo:
    type: object
    required:
    - id
    - name
    - resource
    properties:
      id:
        type: string
        description: The id of the configuration used to create the instance
      name:
        type: string
        description: The name of the configuration used to create the instance
      config_version:
        type: integer
        format: int32
        description: If the IC is configuration controlled, this field is the version
          either being read back (reads return the latest IC unless specified by the
          'config_version' URL param), or the version to update. Cannot be used in
          creates. For unversioned IC reads it is left empty.
      resource:
        type: string
        description: The resource type of the instance configuration
        enum:
        - memory
        - storage
    description: Information about a configuration that creates a Kibana instance
      or APM Server.
  ClusterInstanceDiskInfo:
    type: object
    required:
    - disk_space_used
    - storage_multiplier
    properties:
      disk_space_available:
        type: integer
        format: int64
        description: If known, the amount of total disk space available to the container
          in MB
      disk_space_used:
        type: integer
        format: int64
        description: The amount of disk space being used by the service in MB
      storage_multiplier:
        type: number
        format: double
        description: The storage multiplier originally defined to calculate disk space.
    description: Information about the use and storage capacity of a Kibana instance
      or APM Server.
  ClusterInstanceInfo:
    type: object
    required:
    - container_started
    - healthy
    - instance_name
    - maintenance_mode
    - service_running
    properties:
      instance_name:
        type: string
        description: The name of the instance in Elastic Cloud
      instance_configuration:
        "$ref": "#/definitions/ClusterInstanceConfigurationInfo"
      service_version:
        type: string
        description: The version of the service that the instance is running (eg Elasticsearch
          or Kibana), if available
      healthy:
        type: boolean
        description: Whether the instance is healthy (ie started and running)
      container_started:
        type: boolean
        description: Whether the container has started (does not tell you anything
          about the service -ie Elasticsearch- running inside the container)
      service_running:
        type: boolean
        description: Whether the service launched inside the container -ie Elasticsearch-
          is actually running
      maintenance_mode:
        type: boolean
        description: Whether the service is is maintenance mode (meaning that the
          proxy is not routing external traffic to it)
      zone:
        type: string
        description: The zone in which this instance is being allocated
      allocator_id:
        type: string
        description: The id of the allocator on which this instance is running (if
          the container is started or starting)
      memory:
        "$ref": "#/definitions/ClusterInstanceMemoryInfo"
      disk:
        "$ref": "#/definitions/ClusterInstanceDiskInfo"
      service_roles:
        type: array
        description: 'List of roles assigned to the service running in the instance.
          Currently only populated for Elasticsearch, with possible values: master,data,ingest,ml'
        items:
          type: string
      node_roles:
        type: array
        description: A list of the node roles assigned to the service running in the
          instance. Currently populated only for Elasticsearch.
        items:
          type: string
          enum:
          - master
          - ingest
          - ml
          - data_hot
          - data_content
          - data_warm
          - data_cold
          - data_frozen
          - remote_cluster_client
          - transform
          - voting_only
      instance_overrides:
        description: Instance overrides
        "$ref": "#/definitions/InstanceOverrides"
    description: Information about each Kibana instance and APM Server in the Elasticsearch
      cluster.
  ClusterInstanceMemoryInfo:
    type: object
    required:
    - instance_capacity
    properties:
      instance_capacity:
        type: integer
        format: int32
        description: The memory capacity in MB of the instance
      instance_capacity_planned:
        type: integer
        format: int32
        description: The planned memory capacity in MB of the instance (only shown
          when an override is present)
      memory_pressure:
        type: integer
        format: int32
        description: The % memory pressure of Elasticsearch JVM heap space if available
          (60-75% consider increasing capacity, >75% can incur significant performance
          and stability issues)
      native_memory_pressure:
        type: integer
        format: int32
        description: The % memory pressure of the instance Docker container (if available)
    description: Information about the specific instances memory capacity and its
      usage
  ClusterLicenseInfo:
    type: object
    required:
    - license
    properties:
      license:
        type: object
        description: Object containing the cluster license data
    description: Information about the Elasticsearch cluster license.
  ClusterMetadataCpuResourcesSettings:
    type: object
    properties:
      boost:
        type: boolean
        description: Indicates if the CPU boost flag is enabled or not.
      hard_limit:
        type: boolean
        description: Indicates if the CPU hard limit flag is enabled or not. When
          set to true (default), allocates CPU timeshare based on the total CPU time
          multiplied by the relative RAM capacity of the instance on a given host.
          When set to false, delegates CPU allocation to the operating system to schedule
          CPU timeshares.
    description: Specifies the CPU resource settings for the Elasticsearch cluster.
  ClusterMetadataInfo:
    type: object
    required:
    - last_modified
    - version
    properties:
      version:
        type: integer
        format: int32
        description: The resource version number of the cluster metadata
      last_modified:
        type: string
        format: date-time
        description: The most recent time the cluster metadata was changed (ISO format
          in UTC)
      endpoint:
        type: string
        description: The DNS name of the cluster endpoint, if available
      service_url:
        type: string
        description: The full URL to access this deployment resource
      aliased_endpoint:
        type: string
        description: The DNS name of the cluster endpoint derived from the deployment
          alias, if available
      aliased_url:
        type: string
        description: The full aliased URL to access this deployment resource
      cloud_id:
        type: string
        description: The cloud ID, an encoded string that provides other Elastic services
          with the necessary information to connect to this Elasticsearch and Kibana
          (only present if both exist)
      raw:
        type: object
        description: 'An unstructured JSON representation of the public and internal
          state (can be filtered out via URL parameter). The contents and structure
          of the `raw` field can change at any time. '
      ports:
        description: The ports that allow communication with the cluster using various
          protocols.
        "$ref": "#/definitions/ClusterMetadataPortInfo"
      services_urls:
        type: array
        description: A list of the URLs to access services that the resource provides
          at this time. Note that if the service is not running or has not started
          yet, the URL to access it won't be available
        items:
          "$ref": "#/definitions/ServiceUrl"
    description: Information about the public and internal state, and the configuration
      settings of an Elasticsearch cluster.
  ClusterMetadataPortInfo:
    type: object
    required:
    - http
    - https
    - transport_passthrough
    properties:
      http:
        type: integer
        format: int32
        description: Port where the cluster listens for HTTP traffic
      https:
        type: integer
        format: int32
        description: Port where the cluster listens for HTTPS traffic
      transport_passthrough:
        type: integer
        format: int32
        description: Port where the cluster listens for transport traffic using TLS
    description: Information about the ports that allow communication between the
      Elasticsearch cluster and various protocols.
  ClusterMetadataResourcesSettings:
    type: object
    properties:
      cpu:
        "$ref": "#/definitions/ClusterMetadataCpuResourcesSettings"
    description: The top-level configuration settings for the Elasticsearch cluster
      resources.
  ClusterMetadataSettings:
    type: object
    properties:
      name:
        type: string
        description: The display name of the cluster
      owner_id:
        type: string
        description: The user id (referencing whatever user database is in use) of
          the cluster owner
      organization_id:
        type: string
        description: The organization that owns the deployment
        readOnly: true
      subscription_level:
        type: string
        description: Subscription level of the cluster
      system_owned:
        type: boolean
        description: Indicates if a cluster is system owned (restricts the set of
          operations that can be performed on it)
      contact_email:
        type: string
        description: Contact email for the cluster
      hidden:
        type: boolean
        description: Whether or not this cluster is hidden from the normal clusters
          list
        readOnly: true
      resources:
        "$ref": "#/definitions/ClusterMetadataResourcesSettings"
    description: The top-level configuration settings for the Elasticsearch cluster.
  ClusterPlanAttemptError:
    type: object
    required:
    - details
    - message
    - timestamp
    properties:
      timestamp:
        type: string
        format: date-time
        description: Timestamp marking on info log of step
      message:
        type: string
        description: Human readable error message
      details:
        type: object
        description: A map with details regarding the error. Both the keys and values
          are always strings, representing the name of the detail and its value, respectively.
        additionalProperties:
          type: string
      failure_type:
        type: string
        description: The failure type
    description: Information about an error during a plan attempt.
  ClusterPlanStepInfo:
    type: object
    required:
    - info_log
    - stage
    - started
    - status
    - step_id
    properties:
      step_id:
        type: string
        description: ID of current step
      started:
        type: string
        format: date-time
        description: When the step started (ISO format in UTC)
      completed:
        type: string
        format: date-time
        description: When the step completed (ISO format in UTC)
      duration_in_millis:
        type: integer
        format: int64
        description: The duration of the step in MS
      status:
        type: string
        description: The status of the step (success, warning, error - warning means
          something didn't go as expected but it was not serious enough to abort the
          plan)
        enum:
        - success
        - warning
        - error
        - pending
      stage:
        type: string
        description: Current stage that the step is in
        enum:
        - starting
        - completed
        - in_progress
      info_log:
        type: array
        description: Human readable summaries of the step, including messages for
          each stage of the step
        items:
          "$ref": "#/definitions/ClusterPlanStepLogMessageInfo"
    description: Information about a step in a plan.
  ClusterPlanStepLogMessageInfo:
    type: object
    required:
    - details
    - message
    - stage
    - timestamp
    properties:
      timestamp:
        type: string
        format: date-time
        description: Timestamp marking on info log of step
      delta_in_millis:
        type: integer
        format: int64
        description: Time in milliseconds since previous log message
      stage:
        type: string
        description: Stage that info log message takes place in
        enum:
        - starting
        - completed
        - in_progress
      message:
        type: string
        description: Human readable log message
      details:
        type: object
        description: A map with details for the log about what happened during the
          step execution. Keys and values for are always both strings, representing
          the name of the detail and its value, respectively.
        additionalProperties:
          type: string
      internal_details:
        type: object
        description: A json object with sensitive details for the log, visible only
          to admins. May contain nested json objects.
        additionalProperties:
          type: string
      failure_type:
        type: string
        description: The failure type, in case the step failed
    description: The log message from a specified stage of an executed step in a plan.
  ClusterPlanWarning:
    type: object
    required:
    - code
    - message
    properties:
      code:
        type: string
        description: A unique warning code
      message:
        type: string
        description: A description of the warning
      step_id:
        type: string
        description: The ID of the step which produced a warning, if any
    description: Information about a warning from a plan.
  ClusterSnapshotRepositoryDefault:
    type: object
    description: The default object for the Elasticsearch cluster snapshot repository.
  ClusterSnapshotRepositoryInfo:
    type: object
    properties:
      static:
        description: Cluster snapshot static repository settings, containing repository
          type and settings
        "$ref": "#/definitions/ClusterSnapshotRepositoryStatic"
      reference:
        description: Cluster snapshot reference repository settings, containing the
          repository name in ECE fashion
        "$ref": "#/definitions/ClusterSnapshotRepositoryReference"
      default:
        description: Cluster snapshot default repository settings
        "$ref": "#/definitions/ClusterSnapshotRepositoryDefault"
    description: Information about the Elasticsearch cluster snapshot repository.
  ClusterSnapshotRepositoryReference:
    type: object
    properties:
      repository_name:
        type: string
        description: ECE snapshot repository name, from the '/platform/configuration/snapshots/repositories'
          endpoint
    description: The reference object for the Elasticsearch cluster snapshot repository.
  ClusterSnapshotRepositoryStatic:
    type: object
    properties:
      repository_type:
        type: string
        description: 'Type of snapshot repository, ie: S3'
      settings:
        type: object
        description: Settings associated with snapshot repository
    description: The static object for the Elasticsearch cluster snapshot repository.
  ClusterSnapshotRetention:
    type: object
    properties:
      snapshots:
        type: integer
        format: int32
        description: Number of snapshots to retain
      max_age:
        type: string
        description: 'Total retention period for all snapshots, with the format ''length
          unit'' (space is optional), where unit can be one of: d (day), h (hour),
          min (minute)'
    description: Information about the Elasticsearch cluster snapshot retention.
  ClusterSnapshotSettings:
    type: object
    properties:
      repository:
        description: Snapshot repository configuration
        "$ref": "#/definitions/ClusterSnapshotRepositoryInfo"
      interval:
        type: string
        description: 'Interval between snapshots, with the format ''length unit''
          (space is optional), where unit can be one of: d (day), h (hour), min (minute).
          Default is 30 minutes'
      pending_interval:
        type: string
        description: 'Interval between snapshot progress checks, with the format ''length
          unit'' (space is optional), where unit can be one of: d (day), h (hour),
          min (minute). Default is 1 minute'
      wait_time_after_snapshotting:
        type: string
        description: 'The time to wait between snapshot phases (snapshot, purge),
          with the format ''length unit'' (space is optional), where unit can be one
          of: d (day), h (hour), min (minute). Default is 10 minutes'
      enabled:
        type: boolean
        description: Indicates if Snapshotting is enabled
      suspended:
        type: array
        description: List of temporary snapshot suspensions
        items:
          type: string
      retention:
        description: Cluster snapshot retention information
        "$ref": "#/definitions/ClusterSnapshotRetention"
      slm:
        type: boolean
        description: When set to true, the deployment will have SLM enabled. Default
          value is true.
        readOnly: true
      cron_expression:
        type: string
        description: Cron expression indicating when should snapshots be taken. This
          can be enabled only if SLM is enabled for the deployment and 'interval'
          is not present
    description: The snapshot configuration settings for an Elasticsearch cluster.
  ClusterSystemAlert:
    type: object
    required:
    - alert_type
    - instance_name
    - timestamp
    properties:
      timestamp:
        type: string
        format: date-time
        description: Timestamp marking the system alert
      instance_name:
        type: string
        description: Instance that caused the system alert
      alert_type:
        type: string
        description: Type of system alert
        enum:
        - automatic_restart
        - heap_dump
        - unknown_event
      url:
        type: string
        description: 'The URL related to the event. Only applicable for alert_type:
          heap_dump'
      exit_code:
        type: integer
        format: int32
        description: 'The exit_code related to the event. Only applicable for alert_type:
          slain'
    description: Information about a system alert on an Elasticsearch cluster.
  ClusterTopologyInfo:
    type: object
    required:
    - healthy
    - instances
    properties:
      healthy:
        type: boolean
        description: Whether the cluster topology is healthy (ie all instances are
          started and the services they run - ie elasticsearch - are available
      instances:
        type: array
        items:
          "$ref": "#/definitions/ClusterInstanceInfo"
    description: The topology for Elasticsearch clusters, multiple Kibana instances,
      or multiple APM Servers. The `ClusterTopologyInfo` also includes the instances
      and containers, and where they are located.
  Comment:
    type: object
    required:
    - id
    - message
    - user_id
    properties:
      id:
        type: string
        description: The id of this Comment
      user_id:
        type: string
        description: The user id of the user who wrote this Comment
      message:
        type: string
        description: The message content of this Comment
    description: A persisted Comment
  CommentCreateRequest:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: The message for the Comment.
    description: A request for creating a new Comment
  CommentUpdateRequest:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: The message for the Comment.
    description: A request for updating an existing Comment
  CommentWithMeta:
    type: object
    required:
    - comment
    - metadata
    properties:
      comment:
        description: The comment
        "$ref": "#/definitions/Comment"
      metadata:
        description: The metadata
        "$ref": "#/definitions/Metadata"
    description: A persisted Comment along with its metadata
  CommentsWithMetas:
    type: object
    required:
    - values
    properties:
      values:
        type: array
        description: The list of comments
        items:
          "$ref": "#/definitions/CommentWithMeta"
    description: A list of persisted Comments
  CommonClusterPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
      plan_attempt_name:
        type: string
      healthy:
        type: boolean
      attempt_start_time:
        type: string
        format: date-time
      attempt_end_time:
        type: string
        format: date-time
      plan_end_time:
        type: string
        format: date-time
      plan:
        type: object
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
  CompatibleNodeTypesResource:
    type: object
    required:
    - compatible_node_types
    - node_type
    properties:
      node_type:
        type: string
        description: Type of this node
      compatible_node_types:
        type: array
        description: Compatible node types for the this node type
        items:
          type: string
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/CapacityConstraintsResource"
    description: Information about the compatible node types.
  CompatibleVersionResource:
    type: object
    required:
    - node_types
    - version
    properties:
      version:
        type: string
        description: Compatible version, the key for this resource
      node_types:
        type: array
        description: Supported node types for the version
        items:
          "$ref": "#/definitions/CompatibleNodeTypesResource"
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all versions. When specified its value will be ignored.

          Capacity constraints for the version
        "$ref": "#/definitions/CapacityConstraintsResource"
    description: Information about the compatible version.
  ConfigStoreOption:
    type: object
    required:
    - changed
    - name
    - value
    properties:
      name:
        type: string
        description: Name of this Config Store Option
      value:
        type: string
        description: Value of this Config Store Option
      changed:
        type: boolean
        description: Whether or not this Config Store Option has changed
    description: Information about the Config Store options.
  ConfigStoreOptionData:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: Value of this Config Store Option
    description: The data for the Config Store options.
  ConfigStoreOptionList:
    type: object
    required:
    - values
    properties:
      values:
        type: array
        description: List of Config Store Options
        items:
          "$ref": "#/definitions/ConfigStoreOption"
    description: A list of Config Store values.
  ConstructorHealthStatus:
    type: object
    required:
    - connected
    - maintenance_mode
    properties:
      connected:
        type: boolean
        description: Whether the constructor is connected
      maintenance_mode:
        type: boolean
        description: Whether the constructor is in maintenance mode
    description: The health status of the constructor.
  ConstructorInfo:
    type: object
    required:
    - constructor_id
    - status
    properties:
      status:
        "$ref": "#/definitions/ConstructorHealthStatus"
      constructor_id:
        type: string
        description: Identifier for this constructor
    description: Information about the constructor.
  ConstructorOverview:
    type: object
    required:
    - constructors
    properties:
      constructors:
        type: array
        items:
          "$ref": "#/definitions/ConstructorInfo"
    description: The overview information for the installed constructors.
  ContainerConfigHostConfig:
    type: object
    required:
    - binds
    - extra_hosts
    - port_bindings
    - privileged
    properties:
      extra_hosts:
        type: array
        description: Ports that are exposed by the container.
        items:
          type: string
      network_mode:
        type: string
        description: " Sets the networking mode for the container."
      cpu_period:
        type: integer
        format: int32
        description: The length of a CPU period in microsecond
      restart_policy:
        description: Docker behavior to apply when a container exits
        "$ref": "#/definitions/RestartPolicy"
      port_bindings:
        type: object
        description: Map of ports that should be exposed on the host.
        additionalProperties:
          type: array
          items:
            "$ref": "#/definitions/PortBinding"
      binds:
        type: array
        description: Volume bindings for the container.
        items:
          type: string
      privileged:
        type: boolean
        description: List of environment variables on the form KEY=value
    description: " Docker host config"
  ContainerSetSummary:
    type: object
    required:
    - container_set_id
    - containers_created_count
    - containers_expected_running_count
    - containers_running_count
    - containers_started_count
    - healthy
    - hidden
    properties:
      container_set_id:
        type: string
        description: The identifier for this container set
      healthy:
        type: boolean
        description: Whether the container set is healthy
      hidden:
        type: boolean
        description: True if the container set is hidden
      containers_created_count:
        type: integer
        format: int32
        description: Number of containers created in this container set
      containers_started_count:
        type: integer
        format: int32
        description: Number of containers started in this container set
      containers_running_count:
        type: integer
        format: int32
        description: Number of containers running in this container set
      containers_expected_running_count:
        type: integer
        format: int32
        description: Expected number of running containers in this container set
    description: Summarized information about a container set
  ContainerSetsSummary:
    type: object
    required:
    - healthy
    - healthy_container_sets_count
    - unhealthy_container_sets
    - unhealthy_container_sets_count
    properties:
      healthy:
        type: boolean
        description: Whether all container sets are healthy
      healthy_container_sets_count:
        type: integer
        format: int32
        description: Number of healthy container sets
      unhealthy_container_sets_count:
        type: integer
        format: int32
        description: Number of unhealthy container sets
      unhealthy_container_sets:
        type: array
        description: Summarized information about unhealthy container sets
        items:
          "$ref": "#/definitions/ContainerSetSummary"
    description: Summarized information about container sets
  ContainersEntry:
    type: object
    required:
    - container_set_name
    - kind
    - name
    - options
    properties:
      name:
        type: string
        description: Name of the association
      container_set_name:
        type: string
        description: The container set name (id)
      kind:
        type: string
        description: The kind of container set, should be one of 'docker', 'elasticsearch',
          'kibana', or 'apm'
      options:
        description: The container options
        "$ref": "#/definitions/ContainersEntryOptions"
    description: Represents the association between a Role and a Container Set
  ContainersEntryOptions:
    type: object
    required:
    - acls
    - auths
    - enabled
    properties:
      enabled:
        type: boolean
        description: Whether this allocation is active and should be created.
      auths:
        type: array
        description: ZooKeeper Auths associated with this allocation
        items:
          "$ref": "#/definitions/ContainersEntryOptionsAuth"
      acls:
        type: array
        description: ZooKeeper ACLs associated with this allocation
        items:
          "$ref": "#/definitions/ContainersEntryOptionsACL"
      runners_secret:
        type: string
        description: Secret shared between the runners that have containers in this
          container set allocated.
      container_set_secret:
        type: string
        description: Secret shared between the containers that are part of this container
          set.
      enabled_by_named_feature_flag:
        type: string
        description: 'A named feature flag to check whether this container is enabled
          or not '
      overrides:
        description: Allocation-specific overrides for the allocated containers
        "$ref": "#/definitions/ContainersEntryOptionsOverrides"
    description: Options for a ContainersEntry belonging to a role
  ContainersEntryOptionsACL:
    type: object
    required:
    - id
    - perms
    - scheme
    properties:
      id:
        type: string
        description: Identity within the provided scheme.
      perms:
        type: integer
        format: int32
        description: Permissions
      scheme:
        type: string
        description: Auth scheme, in Elastic Cloud this is usually "digest"
    description: ZooKeeper ACL information.
  ContainersEntryOptionsAuth:
    type: object
    required:
    - auth
    - scheme
    properties:
      scheme:
        type: string
        example: digest
        description: Scheme identifier, usually "digest"
      auth:
        type: string
        description: Plain-text auth. For the "digest" scheme
    description: ZooKeeper Authentication information.
  ContainersEntryOptionsContainerConfig:
    type: object
    required:
    - env
    properties:
      env:
        type: array
        example: DB=localhost:4567
        description: List of environment variables on the form KEY=value
        items:
          type: string
      host_config:
        description: Docker host config
        "$ref": "#/definitions/ContainerConfigHostConfig"
    description: Container config. Roughly corresponds to Docker container config
  ContainersEntryOptionsOverrides:
    type: object
    properties:
      container_config:
        description: Overrides for the container allocation.
        "$ref": "#/definitions/ContainersEntryOptionsContainerConfig"
    description: Overrides for the container allocation.
  CoordinatorCandidateInfo:
    type: object
    required:
    - acl
    - attributes
    - name
    - public_hostname
    - state
    properties:
      name:
        type: string
        description: Name of this coordinator candidate.
      public_hostname:
        type: string
        description: Public hostname of this coordinator candidate
      acl:
        description: Zookeeper ACL of nodes this coordinator candidate is allowed
          to read
        "$ref": "#/definitions/ZkAcl"
      id:
        type: integer
        format: int32
        description: Zookeeper server identifier corresponding to this coordinator
          candidate
      attributes:
        type: object
        description: Attributes of this coordinator candidate
        additionalProperties:
          type: string
      state:
        type: string
        description: State of the candidate
        enum:
        - accepted
        - pending
    description: Summarized information about a coordinator candidate.
  CoordinatorCandidatesSummary:
    type: object
    required:
    - candidates
    properties:
      candidates:
        type: array
        description: Summarized information on each coordinator candidate
        items:
          "$ref": "#/definitions/CoordinatorCandidateInfo"
    description: Summarized information about coordinator candidates.
  CoordinatorSummary:
    type: object
    required:
    - attributes
    - client_port
    - election_port
    - leader_port
    - name
    - public_hostname
    properties:
      name:
        type: string
        description: Name of this coordinator
      public_hostname:
        type: string
        description: Public hostname of this coordinator
      leader_port:
        type: integer
        format: int32
        description: Leader port of this coordinator
      election_port:
        type: integer
        format: int32
        description: Election port of this coordinator
      client_port:
        type: integer
        format: int32
        description: Client port of this coordinator
      attributes:
        type: object
        description: Attributes of this coordinator
        additionalProperties:
          type: string
    description: Summarized information about a coordinator.
  CoordinatorsSummary:
    type: object
    required:
    - coordinators
    properties:
      coordinators:
        type: array
        description: Summarized information on each coordinator
        items:
          "$ref": "#/definitions/CoordinatorSummary"
    description: Summarized information about coordinators.
  Costs:
    type: object
    required:
    - dimensions
    - total
    properties:
      total:
        type: number
        format: double
        description: Total costs
      dimensions:
        type: array
        description: A collection of billing details by dimension.
        items:
          "$ref": "#/definitions/Dimension"
    description: Costs overview for an organization. All of the costs, credits, trials
      are expressed in Elastic Consumption Unit (ECU).
  CostsOverview:
    type: object
    required:
    - costs
    - hourly_rate
    - trials
    properties:
      costs:
        description: Costs for the organization
        "$ref": "#/definitions/Costs"
      trials:
        type: number
        format: double
        description: Trial costs for the organization
      hourly_rate:
        type: number
        format: double
        description: Hourly rate applied.
      balance:
        description: Balance for the organization
        "$ref": "#/definitions/Balance"
    description: The top level costs overview for an organization. All of the costs,
      credits, trials are expressed in Elastic Consumption Unit (ECU).
  CreateApiKeyRequest:
    type: object
    required:
    - description
    properties:
      description:
        type: string
        description: API key description. Useful if there are multiple keys
      expiration:
        type: string
        description: 'The optional expiration for the API key, provided as a duration
          (ex: ''1d'', ''3h'')'
      role_assignments:
        description: The optional roles for the API key. Takes the role of the creator
          if not specified. Currently unavailable in self-hosted ECE.
        "$ref": "#/definitions/RoleAssignments"
    description: The request payload that creates the API keys.
  CreateExtensionRequest:
    type: object
    required:
    - extension_type
    - name
    - version
    properties:
      name:
        type: string
        description: The extension name. Only ASCII alphanumeric and [_.-] characters
          allowed
      description:
        type: string
        description: The extension description.
      download_url:
        type: string
        description: The URL to download the extension archive.
      extension_type:
        type: string
        description: The extension type.
        enum:
        - plugin
        - bundle
      version:
        type: string
        description: The Elasticsearch version.
    description: The body of a request to create a new extension
  Creates:
    type: object
    properties:
      elasticsearch:
        type: array
        description: Diagnostics for Elasticsearch clusters
        items:
          "$ref": "#/definitions/Elasticsearch"
      kibana:
        type: array
        description: Diagnostics for Kibanas
        items:
          "$ref": "#/definitions/Kibana"
      apm:
        type: array
        description: Diagnostics for APMs
        items:
          "$ref": "#/definitions/Apm"
      integrations_server:
        type: array
        description: Diagnostics for Integrations Server
        items:
          "$ref": "#/definitions/IntegrationsServer"
      appsearch:
        type: array
        description: Diagnostics for AppSearches
        items:
          "$ref": "#/definitions/AppSearch"
      enterprise_search:
        type: array
        description: Diagnostics for Enterprise Search resources
        items:
          "$ref": "#/definitions/EnterpriseSearch"
    description: Holds diagnostics for resources that will be created
  DeleteApiKeysRequest:
    type: object
    required:
    - keys
    properties:
      keys:
        type: array
        description: The list of API key IDs.
        items:
          type: string
    description: The request payload that deletes the API keys.
  DeleteUsersApiKeysRequest:
    type: object
    required:
    - user_api_keys
    properties:
      user_api_keys:
        type: array
        description: The list of API key IDs.
        items:
          "$ref": "#/definitions/UserApiKey"
    description: The request payload that deletes the API keys.
  DeploymentCosts:
    type: object
    required:
    - costs
    - deployment_id
    - deployment_name
    - hourly_rate
    properties:
      deployment_id:
        type: string
        description: Elasticsearch deployment id
      deployment_name:
        type: string
        description: Elasticsearch deployment name
      costs:
        description: Costs associated to the deployment
        "$ref": "#/definitions/Costs"
      hourly_rate:
        type: number
        format: double
        description: Price per hour
      period:
        description: Period
        "$ref": "#/definitions/Period"
    description: Detailed costs for a deployment for an organization. All of the costs
      are expressed in Elastic Consumption Unit (ECU).
  DeploymentCreateMetadata:
    type: object
    properties:
      system_owned:
        type: boolean
        description: Indicates if a deployment is system owned (restricts the set
          of operations that can be performed on it)
      tags:
        type: array
        description: Arbitrary user-defined metadata associated with this deployment
        items:
          "$ref": "#/definitions/MetadataItem"
    description: Additional information about the new deployment object.
  DeploymentCreateRequest:
    type: object
    properties:
      name:
        type: string
        description: A name for the deployment; otherwise this will be the generated
          deployment id
      resources:
        description: The Resources that will belong to this Deployment
        "$ref": "#/definitions/DeploymentCreateResources"
      settings:
        description: Additional configuration for this Deployment
        "$ref": "#/definitions/DeploymentCreateSettings"
      metadata:
        description: Additional information about this deployment
        "$ref": "#/definitions/DeploymentCreateMetadata"
      alias:
        type: string
        description: A user-defined alias to use in place of Cluster IDs for user-friendly
          URLs
      region:
        type: string
        description: Identifier of the region to be used as the default for all the
          resources of the deployment
      version:
        type: string
        description: The version for all the resources of the deployment (must be
          one of the supported versions). Defaults to the latest version if not specified.
    description: A request for creating a new Deployment consisting of multiple clusters
  DeploymentCreateResources:
    type: object
    properties:
      elasticsearch:
        type: array
        description: A list of payloads for Elasticsearch cluster creation.
        items:
          "$ref": "#/definitions/ElasticsearchPayload"
      kibana:
        type: array
        description: A list of payloads for Kibana creation.
        items:
          "$ref": "#/definitions/KibanaPayload"
      apm:
        type: array
        description: 'A list of payloads for APM creation. WARNING: For stack versions
          8.0.0 and higher the integrations_server payload should be used instead,
          as this field becomes deprecated.'
        items:
          "$ref": "#/definitions/ApmPayload"
      appsearch:
        type: array
        description: A list of payloads for AppSearch updates. AppSearch has been
          replaced by Enterprise Search in the Elastic Stack 7.7 and higher.
        items:
          "$ref": "#/definitions/AppSearchPayload"
      enterprise_search:
        type: array
        description: A list of payloads for Enterprise Search creation.
        items:
          "$ref": "#/definitions/EnterpriseSearchPayload"
      integrations_server:
        type: array
        description: A list of payloads for Integrations Server creation.
        items:
          "$ref": "#/definitions/IntegrationsServerPayload"
    description: Describes the resources that will belong to a Deployment
  DeploymentCreateResponse:
    type: object
    required:
    - created
    - id
    - name
    - resources
    properties:
      id:
        type: string
        description: The id of the deployment
      name:
        type: string
        description: The name of the deployment
      alias:
        type: string
        description: A user-defined deployment alias for user-friendly resource URLs
      created:
        type: boolean
        description: Whether or not the deployment was freshly created
      resources:
        type: array
        description: List of created resources.
        items:
          "$ref": "#/definitions/DeploymentResource"
      diagnostics:
        description: Backend diagnostics. Sent if validation is requested.
        "$ref": "#/definitions/DeploymentDiagnostics"
    description: A response returned from the Deployment create endpoint
  DeploymentCreateSettings:
    type: object
    properties:
      traffic_filter_settings:
        description: The traffic filter rulesets to apply to this deployment.
        "$ref": "#/definitions/TrafficFilterSettings"
      observability:
        description: Observability settings for this deployment
        "$ref": "#/definitions/DeploymentObservabilitySettings"
      autoscaling_enabled:
        type: boolean
        description: Enable autoscaling for this deployment.
      solution_type:
        type: string
        description: 'An optional string that declares the deployment''s expected
          application. Example supported values are: elasticsearch, observability,
          security.'
    description: Additional configuration for the new deployment object.
  DeploymentDeleteResponse:
    type: object
    required:
    - id
    - name
    properties:
      id:
        type: string
        description: The id of the deployment
      name:
        type: string
        description: The name of the deployment
      orphaned:
        description: Details about orphaned resources
        "$ref": "#/definitions/Orphaned"
    description: A response returned from the Deployment delete endpoint
  DeploymentDiagnostics:
    type: object
    properties:
      creates:
        description: Diagnostics for resources to be created
        "$ref": "#/definitions/Creates"
      updates:
        description: Diagnostics for existing resources that may be updated
        "$ref": "#/definitions/Updates"
    description: Describes the diagnostics for a given Deployment-modifying payload
  DeploymentDomainName:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: The domain name for all deployments. The hostname of an application
          in a deployment is constructed from the application ID and the domain name
          (for example, 1234567890.example.com).
    description: Deployment domain name configuration
  DeploymentGetResponse:
    type: object
    required:
    - healthy
    - id
    - name
    - resources
    properties:
      id:
        type: string
        description: A randomly-generated id of this Deployment
      name:
        type: string
        description: The name of this deployment
      alias:
        type: string
        description: A user-defined deployment alias for user-friendly resource URLs
      healthy:
        type: boolean
        description: 'Whether the deployment is overall healthy or not (one or more
          of the resource info subsections will have healthy: false)'
      resources:
        description: The Resources that belong to this Deployment
        "$ref": "#/definitions/DeploymentResources"
      settings:
        description: Additional configuration for this Deployment
        "$ref": "#/definitions/DeploymentSettings"
      metadata:
        description: Additional information about this deployment
        "$ref": "#/definitions/DeploymentMetadata"
      observability:
        description: The observability information for this deployment
        "$ref": "#/definitions/DeploymentObservability"
      instance_configurations:
        type: array
        description: List of instance configurations used in the deployment.
        items:
          "$ref": "#/definitions/InstanceConfigurationInfo"
    description: Describes a given Deployment
  DeploymentHeapDumps:
    type: object
    required:
    - elasticsearch
    - enterprise_search
    properties:
      elasticsearch:
        type: array
        description: The list of Elasticsearch resources and their heap dumps
        items:
          "$ref": "#/definitions/ResourceHeapDumps"
      enterprise_search:
        type: array
        description: The list of Enterprise Search resources and their heap dumps
        items:
          "$ref": "#/definitions/ResourceHeapDumps"
  DeploymentLogging:
    type: object
    required:
    - healthy
    properties:
      healthy:
        type: boolean
        description: Whether the deployment logging is healthy or not
      urls:
        type: object
        description: The URLs to view this deployment's logs in Kibana
        additionalProperties:
          type: string
      issues:
        type: array
        description: Logging health issues for the deployment
        items:
          "$ref": "#/definitions/ObservabilityIssue"
    description: Logging information for a deployment
  DeploymentLoggingSettings:
    type: object
    required:
    - destination
    properties:
      destination:
        description: The destination deployment that this deployment's logs will be
          sent to
        "$ref": "#/definitions/ObservabilityAbsoluteDeployment"
    description: The logging settings for a deployment
  DeploymentMetadata:
    type: object
    required:
    - last_modified
    properties:
      owner_id:
        type: string
        description: The user id (referencing whatever user database is in use) of
          the deployment owner
      organization_id:
        type: string
        description: The organization that owns the deployment
        readOnly: true
      system_owned:
        type: boolean
        description: Indicates if a deployment is system owned (restricts the set
          of operations that can be performed on it)
      hidden:
        type: boolean
        description: Whether or not this deployment is hidden from the normal deployment
          list
        readOnly: true
      subscription_level:
        type: string
        description: Subscription level of the cluster
        readOnly: true
      last_modified:
        type: string
        format: date-time
        description: The most recent time the cluster metadata was changed (ISO format
          in UTC)
      last_resource_plan_modified:
        type: string
        format: date-time
        description: The most recent time the resource's plan was changed (ISO format
          in UTC)
      tags:
        type: array
        description: Arbitrary user-defined metadata associated with this deployment
        items:
          "$ref": "#/definitions/MetadataItem"
      byok_enabled:
        type: boolean
        description: Indicates if the Deployment is BYOK enabled or not
        readOnly: true
    description: Additional information about the current deployment object.
  DeploymentMetrics:
    type: object
    required:
    - healthy
    properties:
      healthy:
        type: boolean
        description: Whether the deployment metrics are healthy or not
      urls:
        type: object
        description: The URLs to view this deployment's metrics in Kibana
        additionalProperties:
          type: string
      issues:
        type: array
        description: Metrics health issues for the deployment
        items:
          "$ref": "#/definitions/ObservabilityIssue"
    description: Metrics information for a deployment
  DeploymentMetricsSettings:
    type: object
    required:
    - destination
    properties:
      destination:
        description: The destination deployment that this deployment's metrics will
          be sent to
        "$ref": "#/definitions/ObservabilityAbsoluteDeployment"
      force_legacy_monitoring:
        type: boolean
        description: Set to true to force the deployment to use legacy monitoring
          instead of Metricbeat-based monitoring.
    description: The metrics settings for a deployment
  DeploymentObservability:
    type: object
    required:
    - healthy
    properties:
      healthy:
        type: boolean
        description: 'Whether the deployment observability is healthy or not (one
          or more of the subsections will have healthy: false)'
      logging:
        description: The logging information for the deployment
        "$ref": "#/definitions/DeploymentLogging"
      metrics:
        description: The metrics information for the deployment
        "$ref": "#/definitions/DeploymentMetrics"
      issues:
        type: array
        description: General observability health issues for the deployment
        items:
          "$ref": "#/definitions/ObservabilityIssue"
    description: Observability information for a deployment
  DeploymentObservabilitySettings:
    type: object
    properties:
      logging:
        description: The logging settings for the deployment
        "$ref": "#/definitions/DeploymentLoggingSettings"
      metrics:
        description: The metrics settings for the deployment
        "$ref": "#/definitions/DeploymentMetricsSettings"
    description: The observability settings for a deployment
  DeploymentResource:
    type: object
    required:
    - id
    - kind
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique friendly alias for this Elasticsearch cluster
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: A system-unique id for the created resource
      kind:
        type: string
        description: The kind of resource
      region:
        type: string
        description: Identifier of the region in which this resource runs.
      cloud_id:
        type: string
        description: An encoded string that provides other Elastic services with the
          necessary information to connect to this Elasticsearch and Kibana
      credentials:
        description: Credentials for logging into a created resource. Only provided
          on initial create and absent otherwise.
        "$ref": "#/definitions/ClusterCredentials"
      secret_token:
        type: string
        description: Secret token for using a created resource. Only provided on initial
          create and absent otherwise.
      warnings:
        type: array
        description: List of warnings generated from validating resource updates
        items:
          "$ref": "#/definitions/ReplyWarning"
    description: Data for a deployment resource
  DeploymentResourceCommandResponse:
    type: object
    properties:
      warnings:
        type: array
        description: List of warnings generated from validating command
        items:
          "$ref": "#/definitions/ReplyWarning"
    description: Response returned when a command is successfully issued against a
      given Deployment resource
  DeploymentResourceCrudResponse:
    type: object
    required:
    - id
    - kind
    - ref_id
    properties:
      id:
        type: string
        description: The id of the deployment
      kind:
        type: string
        description: The kind of the stateless resource
      ref_id:
        type: string
        description: The reference id of the resource
    description: A response returned from the Deployment Resource endpoints
  DeploymentResourceUpgradeResponse:
    type: object
    required:
    - resource_id
    - stack_version
    properties:
      resource_id:
        type: string
      stack_version:
        type: string
  DeploymentResources:
    type: object
    required:
    - apm
    - appsearch
    - elasticsearch
    - enterprise_search
    - integrations_server
    - kibana
    properties:
      elasticsearch:
        type: array
        description: List of Elasticsearch resources in your Deployment
        items:
          "$ref": "#/definitions/ElasticsearchResourceInfo"
      kibana:
        type: array
        description: List of Kibana resources in your Deployment
        items:
          "$ref": "#/definitions/KibanaResourceInfo"
      apm:
        type: array
        description: List of Apm resources in your Deployment
        items:
          "$ref": "#/definitions/ApmResourceInfo"
      appsearch:
        type: array
        description: List of App Search resources in your Deployment
        items:
          "$ref": "#/definitions/AppSearchResourceInfo"
      enterprise_search:
        type: array
        description: List of Enterprise Search resources in your Deployment
        items:
          "$ref": "#/definitions/EnterpriseSearchResourceInfo"
      integrations_server:
        type: array
        description: List of Integrations Server resources in your Deployment
        items:
          "$ref": "#/definitions/IntegrationsServerResourceInfo"
    description: Describes a resource belonging to a Deployment
  DeploymentRestoreResponse:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The id of the deployment
    description: A response returned from the Deployment restore endpoint
  DeploymentRoleAssignment:
    type: object
    required:
    - organization_id
    - role_id
    properties:
      role_id:
        type: string
        description: The ID of the role that is assigned.
      organization_id:
        type: string
        description: The ID of the organization the role is scoped to.
      all:
        type: boolean
        description: When true, the role applies to all deployments in the organization,
          otherwise the role is scoped to the deployments specified in `deployment_ids`.
      deployment_ids:
        type: array
        description: The IDs of the deployments the role is scoped to. Must be absent
          if `all` is true, and present if `all` is false.
        items:
          type: string
      application_roles:
        type: array
        description: If provided, the user assigned this role assignment will be granted
          this application role when signing in to the deployment(s) specified in
          the role assignment.
        items:
          type: string
    description: Assignment for a role with deployment scope.
  DeploymentSearchResponse:
    type: object
    required:
    - healthy
    - id
    - name
    - resources
    properties:
      id:
        type: string
        description: A randomly-generated id of this Deployment
      name:
        type: string
        description: The name of this deployment
      alias:
        type: string
        description: A user-defined deployment alias for user-friendly resource URLs
      healthy:
        type: boolean
        description: 'Whether the deployment is overall healthy or not (one or more
          of the resource info subsections will have healthy: false)'
      resources:
        description: The Resources that belong to this Deployment
        "$ref": "#/definitions/DeploymentResources"
      settings:
        description: Additional configuration for this Deployment
        "$ref": "#/definitions/DeploymentSettings"
      metadata:
        description: Additional information about this deployment
        "$ref": "#/definitions/DeploymentMetadata"
    description: Describes a searched Deployment
  DeploymentSettings:
    type: object
    required:
    - auto_ops
    properties:
      traffic_filter_settings:
        description: The traffic filter rulesets for this deployment.
        "$ref": "#/definitions/TrafficFilterSettings"
      observability:
        description: Logging and monitoring settings for this deployment.
        "$ref": "#/definitions/DeploymentObservabilitySettings"
      autoscaling_enabled:
        type: boolean
        description: If autoscaling is enabled for this deployment.
      auto_ops:
        description: See AutoOps integration status for this deployment.
        "$ref": "#/definitions/AutoOpsSettings"
      solution_type:
        type: string
        description: 'An optional string that declares the deployment''s expected
          application. Example supported values are: elasticsearch, observability,
          security.'
    description: Additional configuration about the current deployment object.
  DeploymentShutdownResponse:
    type: object
    required:
    - id
    - name
    properties:
      id:
        type: string
        description: The id of the deployment
      name:
        type: string
        description: The name of the deployment
      orphaned:
        description: Details about orphaned resources
        "$ref": "#/definitions/Orphaned"
    description: A response returned from the Deployment shutdown endpoint
  DeploymentTemplateInfoV2:
    type: object
    required:
    - deployment_template
    - id
    - instance_configurations
    - name
    properties:
      id:
        type: string
        description: The unique identifier for the template.
      name:
        type: string
        description: A human readable name for the template.
      description:
        type: string
        description: An optional description for the template.
      deployment_template:
        description: The body of the deployment template to use for creating a deployment.
        "$ref": "#/definitions/DeploymentCreateRequest"
      system_owned:
        type: boolean
        description: Whether or not if this is system owned template.
      source:
        description: Information describing the source that created or modified the
          template.
        "$ref": "#/definitions/ChangeSourceInfo"
      metadata:
        type: array
        description: Optional arbitrary metadata to associate with this template.
        items:
          "$ref": "#/definitions/MetadataItem"
      instance_configurations:
        type: array
        description: List of instance configurations used in the cluster template.
        items:
          "$ref": "#/definitions/InstanceConfigurationInfo"
      order:
        type: integer
        format: int32
        description: Determines the order in which this template should be returned
          when listed. Templates are returned in ascending order. If not specified,
          then the template willbe appended to the end of the list.
      hidden:
        type: boolean
        description: Whether or not the deployment template is hidden by default.
      min_version:
        type: string
        description: Minimum stack version required by this template, if any.
      template_category_id:
        type: string
        description: Provider and version agnostic template identifier used for grouping
          related template types.
      kibana_deeplink:
        type: array
        description: The Kibana Deeplink for this type of deployment.
        items:
          "$ref": "#/definitions/KibanaDeeplink"
    description: Deployment template detailed information
  DeploymentTemplateReference:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The unique identifier of the deployment template
      version:
        type: string
        description: A version identifier to disambiguate multiple revisions of the
          same template
    description: Specifies the deployment template used to create the plan.
  DeploymentTemplateRequestBody:
    type: object
    required:
    - deployment_template
    - name
    properties:
      name:
        type: string
        description: A human readable name for the template.
      description:
        type: string
        description: An optional description for the template.
      deployment_template:
        description: The body of the deployment template to use for creating a deployment.
        "$ref": "#/definitions/DeploymentCreateRequest"
      system_owned:
        type: boolean
        description: Whether or not if this is system owned template.
      metadata:
        type: array
        description: Optional arbitrary metadata to associate with this template.
        items:
          "$ref": "#/definitions/MetadataItem"
      order:
        type: integer
        format: int32
        description: Determines the order in which this template should be returned
          when listed. Templates are returned in ascending order. If not specified,
          then the template willbe appended to the end of the list.
      hidden:
        type: boolean
        description: Whether or not the deployment template is hidden by default.
      min_version:
        type: string
        description: Minimum stack version required by this template, if any.
      template_category_id:
        type: string
        description: Provider and version agnostic template identifier used for grouping
          related template types.
      kibana_deeplink:
        type: array
        description: The Kibana Deeplink for this type of deployment.
        items:
          "$ref": "#/definitions/KibanaDeeplink"
    description: Request body to create or update a Deployment Template
  DeploymentUpdateMetadata:
    type: object
    properties:
      system_owned:
        type: boolean
        description: Indicates if a deployment is system owned (restricts the set
          of operations that can be performed on it)
      hidden:
        type: boolean
        description: Whether or not this deployment is hidden from the normal deployment
          list
      tags:
        type: array
        description: Arbitrary user-defined metadata associated with this deployment
        items:
          "$ref": "#/definitions/MetadataItem"
    description: Additional information about the current deployment object.
  DeploymentUpdateRequest:
    type: object
    required:
    - prune_orphans
    properties:
      name:
        type: string
        description: A new name for the deployment, otherwise stays the same.
      prune_orphans:
        type: boolean
        description: Whether or not to prune orphan resources that are no longer mentioned
          in this request. Note that resourcesare tracked by ref_id, and if a resource's
          ref_id is changed, any previous running resources created with that previousref_id
          are considered to be orphaned as well.
      resources:
        description: New information about the Resources that will have this Deployment,
          otherwise they stay the same
        "$ref": "#/definitions/DeploymentUpdateResources"
      settings:
        description: Any new configuration for the current deployment object. If there
          is no new configuration the value is unchanged.
        "$ref": "#/definitions/DeploymentUpdateSettings"
      metadata:
        description: Any new information about the current deployment object. If there
          is no new information the value is unchanged.
        "$ref": "#/definitions/DeploymentUpdateMetadata"
      alias:
        type: string
        description: A user-defined alias to use in place of Cluster IDs for user-friendly
          URLs
    description: A request for updating a Deployment consisting of multiple resources
  DeploymentUpdateResources:
    type: object
    properties:
      elasticsearch:
        type: array
        description: A list of payloads for Elasticsearch cluster updates
        items:
          "$ref": "#/definitions/ElasticsearchPayload"
      kibana:
        type: array
        description: A list of payloads for Kibana updates
        items:
          "$ref": "#/definitions/KibanaPayload"
      apm:
        type: array
        description: A list of payloads for APM updates
        items:
          "$ref": "#/definitions/ApmPayload"
      appsearch:
        type: array
        description: A list of payloads for AppSearch updates. AppSearch has been
          replaced by Enterprise Search in the Elastic Stack 7.7 and higher
        items:
          "$ref": "#/definitions/AppSearchPayload"
      enterprise_search:
        type: array
        description: A list of payloads for Enterprise Search updates
        items:
          "$ref": "#/definitions/EnterpriseSearchPayload"
      integrations_server:
        type: array
        description: A list of payloads for Integrations Server updates
        items:
          "$ref": "#/definitions/IntegrationsServerPayload"
    description: Describes the Deployment resource updates
  DeploymentUpdateResponse:
    type: object
    required:
    - id
    - name
    - resources
    properties:
      id:
        type: string
        description: The id of the deployment
      name:
        type: string
        description: The name of the deployment
      alias:
        type: string
        description: A user-defined alias to use in place of ResourceIds for user-friendly
          resource URLs
      resources:
        type: array
        description: List of resources that are part of the deployment after the update
          operation.
        items:
          "$ref": "#/definitions/DeploymentResource"
      shutdown_resources:
        description: List of resources that have been shut down
        "$ref": "#/definitions/Orphaned"
      diagnostics:
        description: Backend diagnostics. Sent if validation is requested.
        "$ref": "#/definitions/DeploymentDiagnostics"
      settings:
        description: Additional configuration for this Deployment
        "$ref": "#/definitions/DeploymentSettings"
    description: A response returned from the Deployment update endpoint
  DeploymentUpdateSettings:
    type: object
    properties:
      observability:
        description: Logging and monitoring settings for this deployment. If provided
          it will change observability settings, if null observability will be removed
          from the deployment, otherwise will stay the same
        "$ref": "#/definitions/DeploymentObservabilitySettings"
      autoscaling_enabled:
        type: boolean
        description: Enable autoscaling for this deployment.
      auto_ops:
        description: See AutoOps integration status for this deployment.
        "$ref": "#/definitions/AutoOpsSettings"
    description: Additional configuration for the new deployment object.
  DeploymentUpgradeAssistantStatusResponse:
    type: object
    required:
    - details
    - ready_for_upgrade
    properties:
      ready_for_upgrade:
        type: boolean
        description: A boolean indicating whether or not the cluster is ready to be
          upgraded
      details:
        type: string
        description: Message with information about the number of Elasticsearch and
          Kibana deprecations
    description: The status of your cluster and its readiness to be upgraded
  DeploymentsCosts:
    type: object
    required:
    - deployments
    - total_cost
    properties:
      total_cost:
        type: number
        format: double
        description: Total cost for all deployments
      deployments:
        type: array
        description: Costs of the list of deployments
        items:
          "$ref": "#/definitions/DeploymentCosts"
    description: Costs associated to a set of deployments for an organization. All
      of the costs are expressed in Elastic Consumption Unit (ECU).
  DeploymentsListResponse:
    type: object
    required:
    - deployments
    properties:
      deployments:
        type: array
        description: The deployments
        items:
          "$ref": "#/definitions/DeploymentsListingData"
    description: Contains a list of deployments
  DeploymentsListingData:
    type: object
    required:
    - id
    - name
    - resources
    properties:
      id:
        type: string
        description: The id of this deployment
      name:
        type: string
        description: The name of this deployment
      resources:
        type: array
        description: List of resources in this deployment
        items:
          "$ref": "#/definitions/DeploymentResource"
  DeploymentsSearchResponse:
    type: object
    required:
    - deployments
    - return_count
    properties:
      return_count:
        type: integer
        format: int32
        description: The number of deployments actually returned, either as deployment
          instances or as minimalMetadata objects
      match_count:
        type: integer
        format: int32
        description: If a query is supplied, then the total number of deployments
          that matched
      deployments:
        type: array
        items:
          "$ref": "#/definitions/DeploymentSearchResponse"
      minimal_metadata:
        type: array
        items:
          type: object
      cursor:
        type: string
        description: To retrieve the next batch of deployments from this search, specify
          this value in the cursor field of the next search request. For paginated
          searches, it is recommended to sort on a static and unique field, like deployment
          or cluster id. A static and unique sort avoids concurrent updates causing
          a deployment to move across pages and becoming a duplicate or lost entry.
          The default sort of rank and modified date is often good for getting a particular
          deployment into the first page, but if a not yet seen deployment is modified
          in between page requests, then it would be left out from the next page.
    description: Contains a list of Deployments as result of a search request.
  Dimension:
    type: object
    required:
    - cost
    - type
    properties:
      type:
        type: string
        description: The type of the billing dimension
        enum:
        - capacity
        - data_in
        - data_internode
        - data_out
        - storage_api
        - storage_bytes
      cost:
        type: number
        format: double
        description: The cost of the billing dimension
    description: Billing dimension
  DirectTrustRelationship:
    type: object
    required:
    - certificates
    - name
    - trust_all
    properties:
      uid:
        type: string
        description: Auto generated identifier for this trust, allows distinguishing
          between update vs remove and add.
      name:
        type: string
        description: a human readable name of the trust relationship
      type:
        type: string
        description: The type can either be ESS, ECE, generic or proxy. If none is
          specified, then generic is assumed. If proxy is specified, trust_all should
          be false and trust_allowlist, scope_id and additional_node_names should
          be omitted.
        enum:
        - ECE
        - ESS
        - generic
        - proxy
      trust_all:
        type: boolean
        description: If true, scope_id is required and the `trust_allowlist` is ignored
          and all clusters matching the scope id will be trusted.
      trust_allowlist:
        type: array
        description: The list of clusters with matching scope to trust. Only used
          when `trust_all` is false. Providing one or more clusters makes scope_id
          mandatory.
        items:
          type: string
      scope_id:
        type: string
        example: abc123
        description: A lowercase alphanumerical string of max 32 characters. Usually
          an organization id or an environment id, but could really be any suitable
          suffix for clusters using the CA certificate of this trust. Required unless
          trust_all is false and trust_allowlist is empty.
      additional_node_names:
        type: array
        description: A list of node names trusted in addition to those deducible from
          trust_allowlist and scope id. Allows trusting nodes that don't have a scoped
          name at the cost of maintaining the list. Mandatory if scope id is not defined.
          Wildcards are not allowed.
        items:
          type: string
      certificates:
        type: array
        description: The public ca certificate(s) to trust. Only one is required,
          but it is possible to specify multiple certificates in order to facilitate
          key rotation.
        items:
          "$ref": "#/definitions/TrustedCertificate"
    description: The trust relationship with entities trusted directly having their
      certificate bundled together with the trust settings.
  DiscreteSizes:
    type: object
    required:
    - sizes
    properties:
      sizes:
        type: array
        description: List of supported sizes
        items:
          type: integer
          format: int32
      default_size:
        type: integer
        format: int32
        description: The default size
      resource:
        type: string
        description: The unit that each size represents. If not specified, it will
          default to 'memory'.
        enum:
        - memory
        - storage
    description: Instance sizes that are supported by the Elasticsearch instance,
      Kibana instance, or APM Server configuration.
  DtsDimensionCosts:
    type: object
    required:
    - cost
    - name
    - quantity
    - rate
    - sku
    - type
    properties:
      cost:
        type: number
        format: double
        description: Costs associated to the Data Transfer and Storage (DTS) dimensions
          for an organization
      name:
        type: string
        description: DTS dimension name
      quantity:
        description: DTS usage
        "$ref": "#/definitions/DtsQuantity"
      rate:
        description: Cost per unit
        "$ref": "#/definitions/DtsRate"
      sku:
        type: string
        description: DTS dimension Stock Keeping Unit (SKU)
      type:
        type: string
        description: Type of the DTS dimension usage
    description: The costs associated to a Data Transfer and Storage (DTS) dimension
      for an organization. All of the costs, credits, and trials are expressed in
      Elastic Consumption Units (ECU).
  DtsQuantity:
    type: object
    required:
    - formatted_value
    - value
    properties:
      value:
        type: integer
        format: int64
        description: Raw quantity
      formatted_value:
        type: string
        description: Quantity in human readable format
    description: DTS quantity
  DtsRate:
    type: object
    required:
    - formatted_value
    - value
    properties:
      value:
        type: number
        format: double
        description: Raw rate
      formatted_value:
        type: string
        description: Rate in human readable format
    description: DTS Rate
  Elasticsearch:
    type: object
    required:
    - backend_plan
    - display_name
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name for the cluster (defaults to the generated
          cluster id if not specified)
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for an Elasticsearch cluster
  ElasticsearchBlockingIssueElement:
    type: object
    required:
    - description
    - level
    properties:
      description:
        type: string
        description: Description of the block
      level:
        type: string
        description: Applicable level for the block. Either global ie. cluster-wide
          or index level
        enum:
        - index
        - global
    description: Information about index or cluster blocks
  ElasticsearchBlockingIssues:
    type: object
    required:
    - blocks
    - healthy
    properties:
      healthy:
        type: boolean
        description: Whether the cluster has issues (false) or not (true)
      blocks:
        type: array
        description: A list of blocks that affect the availability of the cluster
        items:
          "$ref": "#/definitions/ElasticsearchBlockingIssueElement"
    description: Issues that prevent the Elasticsearch cluster or index from correctly
      operating.
  ElasticsearchClusterBlockingIssueElement:
    type: object
    required:
    - description
    - instances
    properties:
      description:
        type: string
        description: Description of the issue
      instances:
        type: array
        description: A list of instances that are affected by the issue
        items:
          type: string
    description: |-
      > WARNING
      > This endpoint is deprecated and scheduled to be removed in the next major version. Use `blocks` in `cluster_blocking_issues` instead

      Information about an issue and the Elasticsearch instance it affects.
  ElasticsearchClusterBlockingIssues:
    type: object
    required:
    - cluster_level
    - healthy
    - index_level
    properties:
      healthy:
        type: boolean
        description: Whether the cluster has issues (false) or not (true)
      cluster_level:
        type: array
        description: A list of issues that affect availability of entire cluster
        items:
          "$ref": "#/definitions/ElasticsearchClusterBlockingIssueElement"
      index_level:
        type: array
        description: A list of issues that affect availability of the cluster's indices
        items:
          "$ref": "#/definitions/ElasticsearchClusterBlockingIssueElement"
    description: |-
      > WARNING
      > This endpoint is deprecated and scheduled to be removed in the next major version. Use `cluster_blocking_issues` instead

      Issues that prevent the Elasticsearch cluster or index from operating correctly.
  ElasticsearchClusterInfo:
    type: object
    required:
    - associated_apm_clusters
    - associated_appsearch_clusters
    - associated_enterprise_search_clusters
    - associated_kibana_clusters
    - cluster_id
    - cluster_name
    - elasticsearch
    - external_links
    - healthy
    - metadata
    - plan_info
    - snapshots
    - status
    - topology
    properties:
      cluster_id:
        type: string
        description: The id of the cluster
      cluster_name:
        type: string
        description: The name of the cluster
      deployment_id:
        type: string
        description: The id of the deployment that this Elasticsearch belongs to.
      healthy:
        type: boolean
        description: 'Whether the cluster is healthy or not (one or more of the info
          subsections will have healthy: false)'
      status:
        type: string
        description: Cluster status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/ElasticsearchClusterPlansInfo"
      elasticsearch:
        "$ref": "#/definitions/ElasticsearchInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      system_alerts:
        type: array
        description: List of cluster system alerts
        items:
          "$ref": "#/definitions/ClusterSystemAlert"
      associated_kibana_clusters:
        type: array
        items:
          "$ref": "#/definitions/KibanaSubClusterInfo"
      associated_apm_clusters:
        type: array
        items:
          "$ref": "#/definitions/ApmSubInfo"
      associated_appsearch_clusters:
        type: array
        items:
          "$ref": "#/definitions/AppSearchSubInfo"
      associated_enterprise_search_clusters:
        type: array
        items:
          "$ref": "#/definitions/EnterpriseSearchSubInfo"
      security:
        "$ref": "#/definitions/ElasticsearchClusterSecurityInfo"
      elasticsearch_monitoring_info:
        "$ref": "#/definitions/ElasticsearchMonitoringInfo"
      snapshots:
        "$ref": "#/definitions/SnapshotStatusInfo"
      external_links:
        type: array
        description: External resources related to the cluster
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        "$ref": "#/definitions/ElasticsearchClusterSettings"
      region:
        type: string
        description: The region that this cluster belongs to. Only populated in SaaS
          or federated ECE.
      locked:
        type: boolean
        description: Whether or not this cluster is locked. Only populated in SaaS.
    description: The information for an Elasticsearch cluster.
  ElasticsearchClusterPlan:
    type: object
    required:
    - cluster_topology
    - elasticsearch
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchClusterTopologyElement"
      elasticsearch:
        "$ref": "#/definitions/ElasticsearchConfiguration"
      deployment_template:
        description: Documents which deployment template was used in the creation
          of this plan
        "$ref": "#/definitions/DeploymentTemplateReference"
      transient:
        "$ref": "#/definitions/TransientElasticsearchPlanConfiguration"
      autoscaling_enabled:
        type: boolean
        description: Enable autoscaling for this Elasticsearch cluster.
    description: The plan for the Elasticsearch cluster.
  ElasticsearchClusterPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the cluster)
          started (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/ElasticsearchClusterPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the Elasticsearch cluster plan.
  ElasticsearchClusterPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/ElasticsearchClusterPlanInfo"
      pending:
        "$ref": "#/definitions/ElasticsearchClusterPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchClusterPlanInfo"
    description: Information about the current, pending, and past Elasticsearch cluster
      plans.
  ElasticsearchClusterRole:
    type: object
    required:
    - roles
    - username
    properties:
      username:
        type: string
        description: The username
      roles:
        type: array
        description: The list of roles for this user
        items:
          type: string
    description: The authorization information for an Elasticsearch cluster user.
  ElasticsearchClusterSecurityInfo:
    type: object
    required:
    - last_modified
    - roles
    - users
    - users_roles
    - version
    properties:
      version:
        type: integer
        format: int32
        description: The resource version number of the security settings
      last_modified:
        type: string
        format: date-time
        description: The most recent time the security settings were changed (ISO
          format in UTC)
      users:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchClusterUser"
      roles:
        type: object
        description: An arbitrarily nested JSON object mapping roles to sets of resources
          and permissions - see the Elasticsearch security documentation for more
          details on roles
      users_roles:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchClusterRole"
    description: For 2.x Elasticsearch clusters, specifies the information about the
      users and roles. For 5.x Elasticsearch clusters, use the Kibana management UI.
  ElasticsearchClusterSettings:
    type: object
    properties:
      snapshot:
        description: The snapshot settings for this deployment. When provided, snapshot
          settings are changed as specified. A `null` value reverts the field to the
          default value. Otherwise, all snapshot settings remain as they were set
          previously.
        "$ref": "#/definitions/ClusterSnapshotSettings"
      monitoring:
        description: The monitoring settings for this deployment. When provided, monitoring
          settings are changed as specified. A `null` value reverts the field to the
          default value. Otherwise, all monitoring settings remain as they were set
          previously.
        "$ref": "#/definitions/ManagedMonitoringSettings"
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
      curation:
        description: The curation settings for this deployment. When provided, curation
          settings are changed as specified. A `null` value reverts the field to the
          default value. Otherwise, all curation settings remain as they were set
          previously.
        "$ref": "#/definitions/ClusterCurationSettings"
      dedicated_masters_threshold:
        type: integer
        format: int32
        description: Threshold starting from which the number of instances in the
          cluster results in the introduction of dedicated masters. If the cluster
          is downscaled to a number of nodes below this one, dedicated masters will
          be removed. Limit is inclusive. When provided the threshold setting is updated.
          A `null` value removes the field. Otherwise, the setting remains as it was
          set previously.
      traffic_filter:
        description: The rulesets to apply to all resources in this cluster. When
          specified, the set of rulesets is updated and the same rulesets will be
          applied to Kibana and APM clusters as well. If not specified, the rulesets
          remain as they were set previously.
        "$ref": "#/definitions/TrafficFilterSettings"
      trust:
        description: Configuration of trust with other clusters. When provided, trust
          settings are changed as specified. A `null` value reverts the field to the
          default value. Otherwise, all trust settings remain as they were set previously.
        "$ref": "#/definitions/ElasticsearchClusterTrustSettings"
      keystore_contents:
        description: The contents of the Elasticsearch keystore. It's a write only
          field.
        "$ref": "#/definitions/KeystoreContents"
    description: The settings for an Elasticsearch cluster.
  ElasticsearchClusterTopologyElement:
    type: object
    properties:
      id:
        type: string
        description: Unique identifier of this topology element
      node_type:
        "$ref": "#/definitions/ElasticsearchNodeType"
      node_roles:
        type: array
        description: 'The list of node roles for this topology element (ES version
          >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content,
          data_warm, data_cold, data_frozen, remote_cluster_client, transform'
        items:
          type: string
          enum:
          - master
          - ingest
          - ml
          - data_hot
          - data_content
          - data_warm
          - data_cold
          - data_frozen
          - remote_cluster_client
          - transform
      memory_per_node:
        type: integer
        format: int32
        description: The memory capacity in MB for each node of this type built in
          each zone.
      node_count_per_zone:
        type: integer
        format: int32
        description: The number of nodes of this type that are allocated within each
          zone. (i.e. total capacity per zone = `node_count_per_zone` * `memory_per_node`
          in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes,
          must be 1 if an entry exists.
      zone_count:
        type: integer
        format: int32
        description: The default number of zones in which data nodes will be placed
      elasticsearch:
        "$ref": "#/definitions/ElasticsearchConfiguration"
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      autoscaling_min:
        description: The minimum size of this topology element when autoscaling is
          enabled. This property is only supported, and must be provided, for ML topology
          elements.
        "$ref": "#/definitions/TopologySize"
      autoscaling_max:
        description: The maximum size of this topology element when autoscaling is
          enabled. This property is only supported, and must be provided, for data
          and ML topology elements.
        "$ref": "#/definitions/TopologySize"
      autoscaling_policy_override_json:
        type: object
        description: An arbitrary JSON object overriding the default autoscaling policy.
          Don't set unless you really know what you are doing.
      topology_element_control:
        "$ref": "#/definitions/TopologyElementControl"
      autoscaling_tier_override:
        type: boolean
        description: Set to true to enable autoscaling for this topology element,
          even if the cluster-level 'autoscaling_enabled' field is false. Note that
          'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled'
          is true. Currently only supported for the 'ml' tier
    description: The topology of the Elasticsearch nodes, including the number, capacity,
      and type of nodes, and where they can be allocated.
  ElasticsearchClusterTrustSettings:
    type: object
    properties:
      accounts:
        type: array
        description: The list of trust relationships with different accounts
        items:
          "$ref": "#/definitions/AccountTrustRelationship"
      external:
        type: array
        description: The list of trust relationships with external entities
        items:
          "$ref": "#/definitions/ExternalTrustRelationship"
      direct:
        type: array
        description: The list of trust relationships where the certificate is bundled
          with the trust setting. Allows configuring trust for clusters running outside
          of an Elastic Cloud managed environment or in an Elastic Cloud environment
          without an environment level trust established.
        items:
          "$ref": "#/definitions/DirectTrustRelationship"
    description: Configuration of trust with other clusters.
  ElasticsearchClusterUser:
    type: object
    required:
    - password_hash
    - username
    properties:
      username:
        type: string
        description: The username
      password_hash:
        type: string
        description: The hashed password
    description: The information about an Elasticsearch cluster user.
  ElasticsearchConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the Elasticsearch cluster (must be one of the
          ECE supported versions). Currently cannot be different across the topology
          (and is generally specified in the globals). Defaults to the latest version
          if not specified.
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/ElasticsearchSystemSettings"
      user_settings_json:
        type: object
        description: 'An arbitrary JSON object allowing cluster owners to set their
          parameters (only one of this and ''user_settings_yaml'' is allowed), provided
          the parameters arey are on the allowlist and not on the denylist. NOTES:
          (This field together with ''user_settings_override*'' and ''system_settings''
          defines the total set of Elasticsearch settings)'
      user_settings_yaml:
        type: string
        description: 'An arbitrary YAML object allowing cluster owners to set their
          parameters (only one of this and ''user_settings_json'' is allowed), provided
          the parameters arey are on the allowlist and not on the denylist. NOTES:
          (This field together with ''user_settings_override*'' and ''system_settings''
          defines the total set of Elasticsearch settings)'
      user_settings_override_json:
        type: object
        description: 'An arbitrary JSON object allowing ECE admins owners to set clusters''
          parameters (only one of this and ''user_settings_override_yaml'' is allowed),
          ie in addition to the documented ''system_settings''. NOTES: (This field
          together with ''system_settings'' and ''user_settings*'' defines the total
          set of Elasticsearch settings)'
      user_settings_override_yaml:
        type: string
        description: 'An arbitrary YAML object allowing ECE admins owners to set clusters''
          parameters (only one of this and ''user_settings_override_json'' is allowed),
          ie in addition to the documented ''system_settings''. NOTES: (This field
          together with ''system_settings'' and ''user_settings*'' defines the total
          set of Elasticsearch settings)'
      enabled_built_in_plugins:
        type: array
        description: 'A list of plugin names from the Elastic-supported subset that
          are bundled with the version images. NOTES: (Users should consult the Elastic
          stack objects to see what plugins are available, this is currently only
          available from the UI)'
        items:
          type: string
      user_plugins:
        type: array
        description: A list of admin-uploaded plugin objects that are available for
          this user.
        items:
          "$ref": "#/definitions/ElasticsearchUserPlugin"
      user_bundles:
        type: array
        description: A list of admin-uploaded bundle objects (eg scripts, synonym
          files) that are available for this user.
        items:
          "$ref": "#/definitions/ElasticsearchUserBundle"
      curation:
        description: Defines the index curation routing for the cluster
        "$ref": "#/definitions/ElasticsearchCuration"
      node_attributes:
        type: object
        description: Defines the Elasticsearch node attributes for the instances in
          the topology
        additionalProperties:
          type: string
    description: The Elasticsearch cluster settings. When specified at the top level,
      provides a field-by-field default. When specified at the topology level, provides
      the override settings.
  ElasticsearchCuration:
    type: object
    required:
    - from_instance_configuration_id
    - to_instance_configuration_id
    properties:
      from_instance_configuration_id:
        type: string
        description: The source instance configuration
      to_instance_configuration_id:
        type: string
        description: The destination instance configuration
    description: The structure that defines the routing settings for index curation.
  ElasticsearchDependant:
    type: object
    required:
    - id
    - kind
    properties:
      id:
        type: string
        description: The id of the orphaned resource
      kind:
        type: string
        description: The kind of resource
    description: Details about an orphaned Elasticsearch-dependent resources.
  ElasticsearchElasticUserPasswordResetResponse:
    type: object
    required:
    - password
    - username
    properties:
      username:
        type: string
        description: The username for the newly-reset password for the given Elasticsearch
          cluster
      password:
        type: string
        description: The newly-reset password for the given Elasticsearch cluster
    description: Envelope holding the newly-reset password for a cluster's user
  ElasticsearchInfo:
    type: object
    required:
    - blocking_issues
    - healthy
    - master_info
    - shard_info
    properties:
      healthy:
        type: boolean
        description: Whether the Elasticsearch cluster is healthy (check the sub-objects
          for more details if not)
      shard_info:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. Use `shards_status` instead.

          Elasticsearch shard info
        "$ref": "#/definitions/ElasticsearchShardsInfo"
      shards_status:
        "$ref": "#/definitions/ElasticsearchShardsStatus"
      master_info:
        "$ref": "#/definitions/ElasticsearchMasterInfo"
      blocking_issues:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. Use `cluster_blocking_issues` instead.

          cluster-wide and/or index blocks
        "$ref": "#/definitions/ElasticsearchClusterBlockingIssues"
      cluster_blocking_issues:
        "$ref": "#/definitions/ElasticsearchBlockingIssues"
    description: Information about the Elasticsearch cluster.
  ElasticsearchMasterElement:
    type: object
    required:
    - instances
    - master_node_id
    properties:
      master_node_id:
        type: string
        description: The Elasticsearch node id of a master node
      master_instance_name:
        type: string
        description: The corresponding instance name of the container hosting the
          Elasticsearch master node, if available
      instances:
        type: array
        description: The names of the instance/container hosting the node belong to
          the cluster with the given master
        items:
          type: string
    description: Information about the Elasticsearch instances. For split-brain cases,
      this also includes sub-clusters.
  ElasticsearchMasterInfo:
    type: object
    required:
    - healthy
    - instances_with_no_master
    - masters
    properties:
      healthy:
        type: boolean
        description: Whether the master situation in the cluster is healthy (ie is
          the number of masters != 1), or do any instances have no master
      masters:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchMasterElement"
      instances_with_no_master:
        type: array
        description: A list of any instances with no master
        items:
          type: string
    description: Information about the master nodes in the Elasticsearch cluster.
  ElasticsearchMonitoringInfo:
    type: object
    required:
    - destination_cluster_ids
    - healthy
    - last_modified
    - last_update_status
    - source_cluster_ids
    properties:
      healthy:
        type: boolean
        description: Whether the Monitoring configuration has been successfully applied
      last_modified:
        type: string
        format: date-time
        description: The time the monitoring configuration was last changed
      last_update_status:
        type: string
        description: The status message from the last update (successful or not)
      source_cluster_ids:
        type: array
        description: The list of clusters Ids from which this cluster is currently
          receiving monitoring data
        items:
          type: string
      destination_cluster_ids:
        type: array
        description: The list of clusters Ids to which this cluster is currently sending
          monitoring data
        items:
          type: string
    description: Information about the monitoring status for the Elasticsearch cluster.
  ElasticsearchNodeType:
    type: object
    properties:
      master:
        type: boolean
        description: 'Defines whether this node can be elected master (default: false)'
      data:
        type: boolean
        description: 'Defines whether this node can hold data (default: false)'
      ingest:
        type: boolean
        description: 'Defines whether this node can run an ingest pipeline (default:
          false)'
      ml:
        type: boolean
        description: 'Defines whether this node can run ml jobs, valid only for versions
          5.4.0 or greater (default: false)'
    description: 'Controls the combinations of Elasticsearch node types. TIP: By default,
      the Elasticsearch node is master eligible, can hold data, and run ingest pipelines.
      WARNING: Do not set for tiebreaker topologies.'
  ElasticsearchPayload:
    type: object
    required:
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for this Elasticsearch cluster
      display_name:
        type: string
        description: The human readable name for the cluster (defaults to the generated
          cluster id if not specified)
      region:
        type: string
        description: The region where this resource exists
      plan:
        description: The plan for building this Elasticsearch cluster
        "$ref": "#/definitions/ElasticsearchClusterPlan"
      settings:
        description: The settings for building this Elasticsearch cluster
        "$ref": "#/definitions/ElasticsearchClusterSettings"
    description: An alias for an Elasticsearch Cluster paired with a request for creating
      one
  ElasticsearchPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: 'The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a
          timeout of 4*2048=8192 seconds. Timeout does not include time required to
          run rollback actions.'
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      move_only:
        type: boolean
        description: 'If true (default: false) only move_instances and move_allocators
          instructions will be executed, all other changes will be ignored'
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, ie even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      skip_snapshot:
        type: boolean
        description: 'If true (default: false), does not take (or require) a successful
          snapshot to be taken before performing any potentially destructive changes
          to this cluster'
      max_snapshot_attempts:
        type: integer
        format: int32
        description: 'If taking a snapshot (ie unless ''skip_snapshots'': true) then
          will retry on failure at most this number of times (default: 5)'
      max_snapshot_age:
        type: integer
        format: int64
        description: When you take a snapshot and 'skip_snapshots' is false, specifies
          the maximum age in seconds of the most recent snapshot before a new snapshot
          is created. Default is 300
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: 'Set to ''forced'' to force a reboot as part of the upgrade plan.
          NOTES: (ie taking an existing plan and leaving it alone except for setting
          ''transient.plan_configuration.cluster_reboot'': ''forced'' will reboot
          the cluster)'
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default) then the plan will fail out if it believes
          the requested sequence of operations can result in data loss - this flag
          will override some of these restraints
      skip_data_migration:
        type: boolean
        description: 'If true (default: false) then the plan will not wait for data
          to be migrated from old instances to new instances before continuing the
          plan (potentially deleting the old instances and losing data)'
      skip_upgrade_checker:
        type: boolean
        description: If false, the cluster is checked for issues that should be resolved
          before migration (eg contains old Lucene segments), if true this is bypassed
      skip_post_upgrade_steps:
        type: boolean
        description: If false (the default), the cluster will run (currently) 2.x->5.x
          operations for any plan change ending with a 5.x cluster (eg apply a cluster
          license, ensure Monitoring is configured)
      skip_snapshot_post_major_upgrade:
        type: boolean
        description: If false (the default), the cluster will perform a snapshot after
          a major version upgrade takes place
    description: The configuration settings for the timeout and fallback parameters.
  ElasticsearchReplicaElement:
    type: object
    required:
    - instance_name
    - replica_count
    properties:
      instance_name:
        type: string
        description: The Elastic Cloud name/id of the instance (container)
      replica_count:
        type: integer
        format: int32
        description: The number of unavailable replicas on this instance
    description: 'Information about the unavailable replicas. NOTE: Unlike shards,
      unavailable replicas indicate a loss of redundancy rather than a loss of availability.'
  ElasticsearchResourceInfo:
    type: object
    required:
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/ElasticsearchClusterInfo"
    description: Describes an Elasticsearch resource belonging to a Deployment
  ElasticsearchScriptTypeSettings:
    type: object
    properties:
      enabled:
        type: boolean
        description: 'If enabled (default: true) then scripts are enabled, either
          for sandboxing languages (by default), or for all installed languages if
          ''sandbox_mode'' is disabled (or for 6.x). NOTES: (Corresponds to the parameter
          ''script.file|stored/indexed|inline'')'
      sandbox_mode:
        type: boolean
        description: 'If enabled (default: true) and this script type is enabled,
          then only the sandbox languages are allowed. By default the sandbox languages
          are painless, expressions and mustache, but this can be restricted via the
          ''painless_enabled'', ''mustache_enabled'' ''expression_enabled'' settings.NOTES:
          Not supported in 6.x. (Corresponds to the parameters ''script.engine.[painless|mustache|expressions].[file|stored|inline]'')'
    description: Enables scripting for the specified type and controls other parameters.
      Store scripts in indexes (`stored`), upload in file bundles (`file`), or use
      in API requests (`inline`).
  ElasticsearchScriptingUserSettings:
    type: object
    properties:
      painless_enabled:
        type: boolean
        description: "(5.x+ only) If enabled (the default) then the painless scripting
          engine is allowed as a sandboxed language. Sandboxed languages are the only
          ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the
          parameters 'script.engine.painless.[file|stored|inline]')"
      mustache_enabled:
        type: boolean
        description: "(5.x+ only) If enabled (the default) then the mustache scripting
          engine is allowed as a sandboxed language. Sandboxed languages are the only
          ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the
          parameters 'script.engine.mustache.[file|stored|inline]')"
      expressions_enabled:
        type: boolean
        description: "(5.x+ only) If enabled (the default) then the expressions scripting
          engine is allowed as a sandboxed language. Sandboxed languages are the only
          ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the
          parameters 'script.engine.expression.[file|stored|inline]')"
      stored:
        "$ref": "#/definitions/ElasticsearchScriptTypeSettings"
      file:
        "$ref": "#/definitions/ElasticsearchScriptTypeSettings"
      inline:
        "$ref": "#/definitions/ElasticsearchScriptTypeSettings"
    description: 'Controls the languages supported by the Elasticsearch cluster, such
      as Painless, Mustache, and Expressions. Controls how the languages are used,
      such as file, index, and inline. TIP: For complex configurations, leave these
      blank and configure these settings in the user YAML or JSON.'
  ElasticsearchShardElement:
    type: object
    required:
    - instance_name
    - shard_count
    properties:
      instance_name:
        type: string
        description: The Elastic Cloud name/id of the instance (container)
      shard_count:
        type: integer
        format: int32
        description: The number of shards of the given type (available/unavailable)
          on this instance
    description: 'Information about the shards for each Elasticsearch instance container
      that hosts an Elasticsearch node. TIP: When the shard is unavailable, the cluster
      is unable to serve all of the data.'
  ElasticsearchShardsInfo:
    type: object
    required:
    - available_shards
    - healthy
    - unavailable_replicas
    - unavailable_shards
    properties:
      healthy:
        type: boolean
        description: Whether the shard situation is healthy (any unavailable shards
          is unhealthy)
      available_shards:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchShardElement"
      unavailable_shards:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchShardElement"
      unavailable_replicas:
        type: array
        items:
          "$ref": "#/definitions/ElasticsearchReplicaElement"
    description: |-
      > WARNING
      > This endpoint is deprecated and scheduled to be removed in the next major version. Use `shards_status` instead.

      Information about the shards and replicas that comprise the Elasticsearch indices.
  ElasticsearchShardsStatus:
    type: object
    required:
    - status
    properties:
      status:
        type: string
        description: Indicates the elasticsearch cluster health status as a color
        enum:
        - green
        - red
        - yellow
    description: Shards status represented as green, yellow, or red, as returned by
      the Elasticsearch cluster health API
  ElasticsearchSystemSettings:
    type: object
    properties:
      scripting:
        "$ref": "#/definitions/ElasticsearchScriptingUserSettings"
      reindex_whitelist:
        type: array
        description: Limits remote Elasticsearch clusters that can be used as the
          source for '_reindex' API commands
        items:
          type: string
      auto_create_index:
        type: boolean
        description: 'If true (the default), then any write operation on an index
          that does not currently exist will create it. NOTES: (Corresponds to the
          parameter ''action.auto_create_index'')'
      enable_close_index:
        type: boolean
        description: 'Defaults to false on versions <= 7.2.0, true otherwise. If false,
          then the API commands to close indices are disabled. This is important because
          Elasticsearch does not snapshot or migrate close indices on versions under
          7.2.0, therefore standard Elastic Cloud configuration operations will cause
          irretrievable loss of indices'' data. NOTES: (Corresponds to the parameter
          ''cluster.indices.close.enable'')'
      destructive_requires_name:
        type: boolean
        description: 'If true (default is false) then the index deletion API will
          not support wildcards or ''_all''. NOTES: (Corresponds to the parameter
          ''action.destructive_requires_name'')'
      watcher_trigger_engine:
        type: string
        description: 'The trigger engine for Watcher, defaults to ''scheduler'' -
          see the xpack documentation for more information. NOTES: (Corresponds to
          the parameter ''(xpack.)watcher.trigger.schedule.engine'', depending on
          version. Ignored from 6.x onwards.)'
      default_shards_per_index:
        type: integer
        format: int32
        description: "(2.x only - to get the same result in 5.x template mappings
          must be used) Sets the default number of shards per index, defaulting to
          1 if not specified. (Corresponds to the parameter 'index.number_of_shards'
          in 2.x, not supported in 5.x)"
      monitoring_collection_interval:
        type: integer
        format: int32
        description: 'The default interval at which monitoring information from the
          cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the
          parameter ''marvel.agent.interval'' in 2.x and ''xpack.monitoring.collection.interval''
          in 5.x)'
      monitoring_history_duration:
        type: string
        description: 'The duration for which monitoring history is stored (format
          ''(NUMBER)d'' eg ''3d'' for 3 days). NOTES: (''Corresponds to the parameter
          xpack.monitoring.history.duration'' in 5.x, defaults to ''7d'')'
    description: 'A subset of Elasticsearch settings. TIP: To define the complete
      set of Elasticsearch settings, use `ElasticsearchSystemSettings` with `user_settings_override*`
      and `user_settings*`.'
  ElasticsearchUserBundle:
    type: object
    required:
    - elasticsearch_version
    - name
    - url
    properties:
      name:
        type: string
        description: The name of the bundle
      url:
        type: string
        description: The URL of the bundle, which must be accessible from the ECE
          infrastructure. This URL could be cached by platform, make sure to change
          it when updating the bundle
      elasticsearch_version:
        type: string
        description: The supported Elasticsearch version (must match the version in
          the plan)
    description: A list of admin-uploaded bundle objects, such as scripts and synonym
      files.
  ElasticsearchUserPlugin:
    type: object
    required:
    - elasticsearch_version
    - name
    - url
    properties:
      name:
        type: string
        description: The name of the plugin
      url:
        type: string
        description: The URL of the plugin (must be accessible from the ECE infrastructure)
      elasticsearch_version:
        type: string
        description: The supported Elasticsearch version (must match the version in
          the plan)
    description: A list of admin-uploaded plugin objects.
  ElevatedPermissions:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: True if the user has elevated permissions
      expires_at:
        type: string
        format: date-time
        description: The time at which the user's elevated permissions expire
    description: A user's elevated permissions status
  EmptyResponse:
    type: object
  EnableIlmRequest:
    type: object
    required:
    - index_patterns
    properties:
      index_patterns:
        type: array
        description: A locally-unique user-specified id for Kibana
        items:
          "$ref": "#/definitions/IndexPattern"
    description: Request sent to enable ILM on a deployment.
  EnrollmentTokenRequest:
    type: object
    required:
    - persistent
    properties:
      roles:
        type: array
        description: The additional services for which this enrollment token applies
          (empty if not specified, ie system services only)
        items:
          type: string
      persistent:
        type: boolean
        description: Whether this token can subsequently to its grant be revoked from
          the UI
      validity_in_seconds:
        type: integer
        format: int32
        description: 'The time in seconds for which this token is valid (defaults
          to 1 hour). Currently this can only be set for ephemeral (persistent: false)
          tokens.'
    description: An enrollment token request for one or more services.
  EnterpriseSearch:
    type: object
    required:
    - backend_plan
    - display_name
    - elasticsearch_cluster_ref_id
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name (defaults to the generated cluster id
          if not specified)
      elasticsearch_cluster_ref_id:
        type: string
        description: The user-specified id of the Elasticsearch Cluster that this
          will link to
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for an Enterprise Search resource
  EnterpriseSearchConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the Enterprise Search cluster (must be one of
          the ECE supported versions, and won't work unless it matches the Elasticsearch
          version. Leave blank to auto-detect version.)
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/EnterpriseSearchSystemSettings"
      user_settings_json:
        type: object
        description: An arbitrary JSON object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_yaml' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Enterprise Search settings)
      user_settings_yaml:
        type: string
        description: An arbitrary YAML object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_json' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Enterprise Search settings)
      user_settings_override_json:
        type: object
        description: An arbitrary JSON object allowing ECE admins to set clusters'
          parameters (only one of this and 'user_settings_override_yaml' is allowed),
          i.e. in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Enterprise
          Search settings)
      user_settings_override_yaml:
        type: string
        description: An arbitrary YAML object allowing ECE admins to set clusters'
          parameters (only one of this and 'user_settings_override_json' is allowed),
          i.e. in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Enterprise
          Search settings)
  EnterpriseSearchInfo:
    type: object
    required:
    - elasticsearch_cluster
    - external_links
    - healthy
    - id
    - name
    - plan_info
    - status
    - topology
    properties:
      id:
        type: string
        description: The id of the Enterprise Search
      name:
        type: string
        description: The name of the Enterprise Search
      elasticsearch_cluster:
        "$ref": "#/definitions/TargetElasticsearchCluster"
      deployment_id:
        type: string
        description: The id of the deployment that this Enterprise Search belongs
          to.
      healthy:
        type: boolean
        description: 'Whether the Enterprise Search is healthy or not (one or more
          of the info subsections will have healthy: false)'
      status:
        type: string
        description: Enterprise Search status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/EnterpriseSearchPlansInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      external_links:
        type: array
        description: External resources related to the Enterprise Search
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        description: The cluster metadata settings for the Enterprise Search
        "$ref": "#/definitions/EnterpriseSearchSettings"
      region:
        type: string
        description: The region that this Enterprise Search belongs to. Only populated
          in SaaS or federated ECE.
    description: The overview information for the Enterprise Search Server.
  EnterpriseSearchNodeTypes:
    type: object
    required:
    - appserver
    - connector
    - worker
    properties:
      appserver:
        type: boolean
        description: Defines whether this instance should run as Application/API server
      worker:
        type: boolean
        description: Defines whether this instance should run as background worker
      connector:
        type: boolean
        description: Defines whether this instance should run as Connector
    description: Node types to enable for an Enterprise Search instance
  EnterpriseSearchPayload:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for Enterprise Search
      elasticsearch_cluster_ref_id:
        type: string
        description: Alias to the Elasticsearch Cluster to attach Enterprise Search
          to
      display_name:
        type: string
        description: 'The human readable name for the Enterprise Search cluster (default:
          takes the name of its Elasticsearch cluster)'
      region:
        type: string
        description: The region where this resource exists
      plan:
        "$ref": "#/definitions/EnterpriseSearchPlan"
      settings:
        description: The settings for building this Enterprise Search cluster
        "$ref": "#/definitions/EnterpriseSearchSettings"
    description: An Enterprise Search creation request paired with the alias of the
      Elasticsearch cluster it should be paired with
  EnterpriseSearchPlan:
    type: object
    required:
    - enterprise_search
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/EnterpriseSearchTopologyElement"
      enterprise_search:
        "$ref": "#/definitions/EnterpriseSearchConfiguration"
      transient:
        "$ref": "#/definitions/TransientEnterpriseSearchPlanConfiguration"
    description: The plan for the Enterprise Search cluster.
  EnterpriseSearchPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB)
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, i.e. even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: Set to 'forced' to force a reboot as part of the upgrade plan
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default), the plan fails if it determines that
          the request can result in unsafe operations. Setting this flag overrides
          some of these check restraints.
  EnterpriseSearchPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the Enterprise
          Search) started (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/EnterpriseSearchPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the Enterprise Search Server plan.
  EnterpriseSearchPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/EnterpriseSearchPlanInfo"
      pending:
        "$ref": "#/definitions/EnterpriseSearchPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/EnterpriseSearchPlanInfo"
    description: Information about current, pending, and past Enterprise Search Server
      plans.
  EnterpriseSearchResourceInfo:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/EnterpriseSearchInfo"
    description: Describes an Enterprise Search resource belonging to a Deployment
  EnterpriseSearchSettings:
    type: object
    properties:
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
    description: The settings for the Enterprise Search.
  EnterpriseSearchSubInfo:
    type: object
    required:
    - enabled
    - enterprise_search_id
    properties:
      enterprise_search_id:
        type: string
        description: The Enterprise Search Id
      enabled:
        type: boolean
        description: Whether the associated Enterprise Search is currently available
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
    description: Information about the APM Servers associated with the Elasticsearch
      cluster.
  EnterpriseSearchSystemSettings:
    type: object
    properties:
      elasticsearch_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      elasticsearch_username:
        type: string
        description: Optionally override the account within Enterprise Search - defaults
          to a system account that always exists (if specified, the password must
          also be specified). Note that this field is never returned from the API,
          it is write only.
      elasticsearch_password:
        type: string
        description: Optionally override the account within Enterprise Search - defaults
          to a system account that always exists (if specified, the username must
          also be specified). Note that this field is never returned from the API,
          it is write only.
      secret_session_key:
        type: string
        description: Optionally override the secret session key within Enterprise
          Search - defaults to the previously existing secretSession. Note that this
          field is never returned from the API, it is write only.
    description: This structure defines a curated subset of the Enterprise Search
      settings. (This field together with 'user_settings_override*' and  'user_settings*'
      defines the total set of Enterprise Search settings)
  EnterpriseSearchTopologyElement:
    type: object
    properties:
      node_type:
        description: Defines the EnterpriseSearch node type
        "$ref": "#/definitions/EnterpriseSearchNodeTypes"
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: number of zones in which nodes will be placed
      enterprise_search:
        "$ref": "#/definitions/EnterpriseSearchConfiguration"
      allocator_filter:
        type: object
      node_configuration:
        type: string
      memory_per_node:
        type: object
      node_count_per_zone:
        type: object
    description: Defines the topology of the Enterprise Search nodes (e.g. number/capacity
      of nodes, and where they can be allocated)
  ExistsQuery:
    type: object
    required:
    - field
    properties:
      field:
        type: string
        description: The field to check for non-null values in.
    description: Matches documents that have at least one non-`null` value in the
      original field.
  Extension:
    type: object
    required:
    - extension_type
    - id
    - name
    - url
    - version
    properties:
      id:
        type: string
        description: The extension ID
      name:
        type: string
        description: The extension name.
      description:
        type: string
        description: The extension description.
      url:
        type: string
        description: The extension URL to be used in the plan.
      download_url:
        type: string
        description: The download URL specified during extension creation.
      extension_type:
        type: string
        description: The extension type.
        enum:
        - plugin
        - bundle
      version:
        type: string
        description: The Elasticsearch version.
      deployments:
        type: array
        description: List of deployments using this extension. Up to only 10000 deployments
          will be included in the list.
        items:
          type: string
      file_metadata:
        description: The extension file metadata.
        "$ref": "#/definitions/ExtensionFileMetadata"
    description: An API extension. It represents clusters' plugins and bundles
  ExtensionFileMetadata:
    type: object
    properties:
      last_modified_date:
        type: string
        format: date-time
        description: The date and time the extension was last modified.
      size:
        type: integer
        format: int64
        description: The extension file size in bytes.
      url:
        type: string
        format: uri
        description: The temporary URL to download the extension file. Usable for
          verification.
  Extensions:
    type: object
    required:
    - extensions
    properties:
      extensions:
        type: array
        description: The list of extensions.
        items:
          "$ref": "#/definitions/Extension"
    description: A collection of extensions
  ExternalHyperlink:
    type: object
    required:
    - id
    - label
    properties:
      id:
        type: string
        description: Identifier of the external link
      label:
        type: string
        description: Human-readable description of the external link
      uri:
        type: string
        description: hyperlink to an external resource
  ExternalTrustRelationship:
    type: object
    required:
    - trust_all
    - trust_relationship_id
    properties:
      trust_relationship_id:
        type: string
        description: The ID of the external trust relationship
      name:
        type: string
        description: The name of the external trust relationship. Retrieved from the
          TrustRelationship and ignored on write.
      trust_all:
        type: boolean
        description: If true, all clusters in this external entity will be trusted
          and the `trust_allowlist` is ignored.
      trust_allowlist:
        type: array
        description: The list of clusters to trust. Only used when `trust_all` is
          false.
        items:
          type: string
    description: The trust relationship with external entities (remote environments,
      remote accounts...).
  FilterAssociation:
    type: object
    required:
    - entity_type
    - id
    properties:
      entity_type:
        type: string
        description: Type of the traffic filter ruleset association, such as 'deployment',
          'cluster'
      id:
        type: string
        description: ID of the entity, such as the deployment ID or Elasticsearch
          cluster ID.
    description: The association with a ruleset or user auth token for a deployment,
      template, or product.
  GenericResponse:
    type: object
    required:
    - value
    properties:
      value:
        type: string
  GlobalDeploymentTemplateInfo:
    type: object
    required:
    - description
    - name
    - order
    - regions
    properties:
      template_category_id:
        type: string
        description: Provider agnostic template identifier.
      name:
        type: string
        description: Long name of the Template
      description:
        type: string
        description: An optional description for the template.
      order:
        type: integer
        format: int32
        description: The order in which the templates should be displayed in the front-end.
      metadata:
        type: array
        description: Optional arbitrary metadata to associate with this template.
        items:
          "$ref": "#/definitions/MetadataItem"
      regions:
        type: array
        description: List of regions this template is used in.
        items:
          "$ref": "#/definitions/GlobalDeploymentTemplateRegion"
    description: The top-level model for global (regionless) templates.
  GlobalDeploymentTemplateRegion:
    type: object
    required:
    - deployment_template_id
    - region_id
    - versions
    properties:
      region_id:
        type: string
        description: The region identifier.
      deployment_template_id:
        type: string
        description: The (region-specific) ID of the deployment template.
      versions:
        type: array
        description: Versions supported in this region.
        items:
          type: string
      kibana_deeplink:
        type: array
        description: The Kibana Deeplink for this type of deployment.
        items:
          "$ref": "#/definitions/KibanaDeeplink"
    description: Region-specific details about a template.
  GrowShrinkStrategyConfig:
    type: object
    description: A strategy that creates instances with the new plan, migrates data
      from the old instances, then shuts down the old instances. `GrowShrinkStrategyConfig`
      is safer than 'rolling' and ensures single node availability during a plan change,
      but can be a lot slower on larger clusters.
  HeapDump:
    type: object
    required:
    - captured
    - instance_id
    - status
    - type
    properties:
      instance_id:
        type: string
        description: The Elastic Cloud name/id of the instance (container)
      size:
        type: integer
        format: int64
        description: The size in bytes of the heap dump
      type:
        type: string
        description: The type of heap dump
      status:
        type: string
        description: The status of the heap dump
      error:
        type: string
        description: An error message if the heap dump failed
      captured:
        type: string
        description: The time at which the heap dump was captured
  Hyperlink:
    type: object
    properties:
      need_elevated_permissions:
        type: boolean
        description: Whether the operation requires elevated permissions (when the
          field is present, elevated permissions are required).
  IdResponse:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The ID
  IndexPattern:
    type: object
    required:
    - index_pattern
    - policy_name
    properties:
      index_pattern:
        type: string
        description: Index pattern to which the ILM policy will be applied.
      policy_name:
        type: string
        description: Name of the policy to create
      node_attributes:
        type: object
        description: Defines the Elasticsearch node attributes for the warm element
          of the topology
        additionalProperties:
          type: string
    description: An index pattern described indicating how it has to be migrated to
      ILM.
  IndexSynchronizationResults:
    type: object
    required:
    - created
    - deleted
    - errors
    - updated
    properties:
      created:
        type: array
        description: The ids of documents created in the index by index version
        items:
          type: string
      updated:
        type: array
        description: The ids of documents updated in the index by index version
        items:
          type: string
      deleted:
        type: array
        description: The ids of documents deleted from the index by index version
        items:
          type: string
      errors:
        type: array
        description: The regions where document synchronization may have failed
        items:
          type: string
    description: Results from synchronizing indices
  InstanceConfiguration:
    type: object
    required:
    - discrete_sizes
    - name
    properties:
      id:
        type: string
        description: Unique identifier for the instance configuration
      name:
        type: string
        description: Display name for the instance configuration.
      config_version:
        type: integer
        format: int32
        description: If the IC is configuration controlled, this field is the version
          either being read back (reads return the latest IC unless specified by the
          'config_version' URL param), or the version to update. Cannot be used in
          creates. For unversioned IC reads it is left empty.
      description:
        type: string
        description: Optional description for the instance configuration
      instance_type:
        type: string
        description: The type of instance. For instance configurations where the type
          is specified in the 'id', the default value of 'instance_type' will be automatically
          inferred.
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      node_types:
        type: array
        description: Node types (master, data) for the instance. For instance configurations
          where the type (and tier) is specified in the 'id', the default value of
          'node_types' will be automatically inferred.
        items:
          type: string
      discrete_sizes:
        description: Numerics representing possible instance sizes that the instance
          configuration supports.
        "$ref": "#/definitions/DiscreteSizes"
      allocator_filter:
        description: Optional filter to match allocators against
        "$ref": "#/definitions/QueryContainer"
      storage_multiplier:
        type: number
        format: double
        description: Settings for the instance storage multiplier
      deleted_on:
        type: string
        format: date-time
        description: Date/time that this instance configuration was marked for deletion
      system_owned:
        type: boolean
        description: Indicates if a instance configuration is system owned (restricts
          the set of operations that can be performed on it)
      metadata:
        type: object
        description: Optional arbitrary metadata to associate with this template.
      cpu_multiplier:
        type: number
        format: double
        description: Settings for the instance CPU multiplier
      allowed_zones:
        type: array
        description: The zones this instance configuration may exist in. Leaving out
          this parameter or specifying an empty list implies all zones are allowed.
          Normally not needed, but can be useful for exceptional infrastructure constraints.
        items:
          type: string
      max_zones:
        type: integer
        format: int32
        description: The maximum number of availability zones in which this instance
          configuration has allocators. This field will be missing unless explicitly
          requested with the show_max_zones parameter.
        readOnly: true
    description: The configuration template for Elasticsearch instances, Kibana instances,
      and APM Servers.
  InstanceConfigurationInfo:
    type: object
    required:
    - discrete_sizes
    - name
    properties:
      id:
        type: string
        description: Unique identifier for the instance configuration
      name:
        type: string
        description: Display name for the instance configuration.
      config_version:
        type: integer
        format: int32
        description: If the IC is configuration controlled, this field is the version
          either being read back (reads return the latest IC unless specified by the
          'config_version' URL param), or the version to update. Cannot be used in
          creates. For unversioned IC reads it is left empty.
      description:
        type: string
        description: Optional description for the instance configuration
      instance_type:
        type: string
        description: The type of instance. For instance configurations where the type
          is specified in the 'id', the default value of 'instance_type' will be automatically
          inferred.
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      node_types:
        type: array
        description: Node types (master, data) for the instance. For instance configurations
          where the type (and tier) is specified in the 'id', the default value of
          'node_types' will be automatically inferred.
        items:
          type: string
      discrete_sizes:
        description: Numerics representing possible instance sizes that the instance
          configuration supports.
        "$ref": "#/definitions/DiscreteSizes"
      storage_multiplier:
        type: number
        format: double
        description: Settings for the instance storage multiplier
      cpu_multiplier:
        type: number
        format: double
        description: Settings for the instance CPU multiplier
      metadata:
        type: object
        description: Optional arbitrary metadata to associate with this template.
      max_zones:
        type: integer
        format: int32
        description: The maximum number of availability zones in which this instance
          configuration has allocators. This field will be missing unless explicitly
          requested with the show_max_zones parameter.
        readOnly: true
    description: The configuration template for Elasticsearch instances, Kibana instances,
      and APM Servers.
  InstanceMoveRequest:
    type: object
    required:
    - from
    properties:
      from:
        type: string
        description: The instance id that is going to be moved
      to:
        type: array
        description: An optional list of allocator ids to which the instance should
          be moved. If not specified then any available allocator can be used (including
          the current one if it is healthy)
        items:
          type: string
      instance_down:
        type: boolean
        description: 'Tells the infrastructure that the instance should be considered
          as permanently down when deciding how to migrate data to new nodes. If left
          blank then the system will automatically decide (currently: will treat the
          instances as up)'
    description: The request that specifies the Elasticsearch or stateless (eg Kibana)
      instances to move to allocators as part of the upgrade plan. When used in conjunction
      with '\_\_all\_\_' (roll all instances as a single unit) strategy, these instances
      are not restarted, which can sometimes enable recovery plans when these instances
      are boot-looping.
  InstanceOverrides:
    type: object
    properties:
      capacity:
        type: integer
        format: int32
        description: Sets the memory capacity for the instances container. Requires
          a restart to take effect.
      storage_multiplier:
        type: number
        format: double
        description: Overrides the disk quota multiplier for the instance
  InstanceTypeResource:
    type: object
    required:
    - compatibility
    - description
    - instance_type
    - name
    - node_types
    properties:
      instance_type:
        type: string
        description: Instance type, the key for this resource
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      name:
        type: string
        description: Instance type name
      description:
        type: string
        description: Instance type description
      node_types:
        type: array
        description: Supported node types
        items:
          "$ref": "#/definitions/NodeTypeResource"
      compatibility:
        type: array
        description: Compatible versions
        items:
          "$ref": "#/definitions/CompatibleVersionResource"
      default_instance_configuration_id:
        type: string
        description: Id of the default instance configuration to use for this instance
          type.
  IntegrationsServer:
    type: object
    required:
    - backend_plan
    - display_name
    - elasticsearch_cluster_ref_id
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name (defaults to the generated cluster id
          if not specified)
      elasticsearch_cluster_ref_id:
        type: string
        description: The user-specified id of the Elasticsearch Cluster that this
          will link to
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for an Integrations Server resource
  IntegrationsServerConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the Integrations Server cluster (must be one of
          the ECE supported versions, and won't work unless it matches the Integrations
          Server version. Leave blank to auto-detect version.)
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/IntegrationsServerSystemSettings"
      user_settings_json:
        type: object
        description: An arbitrary JSON object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_yaml' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Integrations Server settings)
      user_settings_yaml:
        type: string
        description: An arbitrary YAML object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_json' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (These
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Integrations Server settings)
      user_settings_override_json:
        type: object
        description: An arbitrary JSON object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_yaml' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Integrations
          Server settings)
      user_settings_override_yaml:
        type: string
        description: An arbitrary YAML object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_json' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Integrations
          Server settings)
      mode:
        type: string
        description: The mode the Integrations Server is operating in.
        enum:
        - standalone
        - managed
    description: The configuration options for the Integrations Server.
  IntegrationsServerInfo:
    type: object
    required:
    - elasticsearch_cluster
    - external_links
    - healthy
    - id
    - name
    - plan_info
    - status
    - topology
    properties:
      id:
        type: string
        description: The id of the Integrations Server
      name:
        type: string
        description: The name of the Integrations Server
      elasticsearch_cluster:
        "$ref": "#/definitions/TargetElasticsearchCluster"
      deployment_id:
        type: string
        description: The id of the deployment that this Integrations Server belongs
          to.
      healthy:
        type: boolean
        description: 'Whether the Integrations Server is healthy or not (one or more
          of the info subsections will have healthy: false)'
      status:
        type: string
        description: Integrations Server status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/IntegrationsServerPlansInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      external_links:
        type: array
        description: External resources related to the Integrations Server
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        description: The cluster metadata settings for the Integrations Server
        "$ref": "#/definitions/IntegrationsServerSettings"
      region:
        type: string
        description: The region that this Integrations Server belongs to. Only populated
          in SaaS or federated ECE.
      apm_server_mode:
        type: string
        description: The mode APM is operating in.
        enum:
        - standalone
        - managed
    description: The overview information for the Integrations Server.
  IntegrationsServerPayload:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for the Integrations Server
      elasticsearch_cluster_ref_id:
        type: string
        description: Alias to the Elasticsearch Cluster to attach the Integrations
          Server to
      display_name:
        type: string
        description: 'The human readable name for the Integrations Server cluster
          (default: takes the name of its Elasticsearch cluster)'
      region:
        type: string
        description: The region where this resource exists
      plan:
        "$ref": "#/definitions/IntegrationsServerPlan"
      settings:
        description: The settings for building this Integrations Server cluster
        "$ref": "#/definitions/IntegrationsServerSettings"
    description: An Integrations Server creation request paired with the alias of
      the Elasticsearch cluster it should be paired with
  IntegrationsServerPlan:
    type: object
    required:
    - integrations_server
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/IntegrationsServerTopologyElement"
      integrations_server:
        "$ref": "#/definitions/IntegrationsServerConfiguration"
      transient:
        "$ref": "#/definitions/TransientIntegrationsServerPlanConfiguration"
    description: The plan for the Integrations Server.
  IntegrationsServerPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB)
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, ie even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: Set to 'forced' to force a reboot as part of the upgrade plan
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default), the plan fails if it determines that
          the request can result in unsafe operations. Setting this flag overrides
          some of these check restraints.
    description: The plan control configuration options for the Integrations Server.
  IntegrationsServerPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the Integrations
          Server) started (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/IntegrationsServerPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the Integrations Server plan.
  IntegrationsServerPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/IntegrationsServerPlanInfo"
      pending:
        "$ref": "#/definitions/IntegrationsServerPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/IntegrationsServerPlanInfo"
    description: Information about current, pending, and past Integrations Server
      plans.
  IntegrationsServerResourceInfo:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/IntegrationsServerInfo"
    description: Describes an Integrations Server resource belonging to a Deployment
  IntegrationsServerSettings:
    type: object
    properties:
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
    description: The settings for the Integrations Server.
  IntegrationsServerSystemSettings:
    type: object
    properties:
      elasticsearch_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      kibana_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      elasticsearch_username:
        type: string
        description: Optionally override the account within Integrations Server -
          defaults to a system account that always exists (if specified, the password
          must also be specified). Note that this field is never returned from the
          API, it is write only.
      elasticsearch_password:
        type: string
        description: Optionally override the account within Integrations Server -
          defaults to a system account that always exists (if specified, the username
          must also be specified). Note that this field is never returned from the
          API, it is write only.
      secret_token:
        type: string
        description: Optionally override the secret token within Integrations Server
          - defaults to the previously existing secretToken
      debug_enabled:
        type: boolean
        description: Optionally enable debug mode for Integrations Server - defaults
          false
    description: "A structure that defines a curated subset of the Integrations Server
      settings. \nTIP: To define the complete set of Integrations Server setting,
      use `IntegrationsSystemSettings` with `user_settings_override_` and `user_settings_`."
  IntegrationsServerTopologyElement:
    type: object
    properties:
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: number of zones in which nodes will be placed
      integrations_server:
        "$ref": "#/definitions/IntegrationsServerConfiguration"
    description: Defines the topology of the Integrations Server nodes. For example,
      the number or capacity of the nodes, and where you can allocate the nodes.
  ItemCosts:
    type: object
    required:
    - hours
    - instance_count
    - kind
    - name
    - period
    - price
    - price_per_hour
    - sku
    properties:
      hours:
        type: integer
        format: int64
        description: Resource usage in hours
      instance_count:
        type: integer
        format: int32
        description: Number of instances
      period:
        description: Period
        "$ref": "#/definitions/Period"
      kind:
        type: string
        description: Kind of resource
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      price:
        type: number
        format: double
        description: Resource price
      price_per_hour:
        type: number
        format: double
        description: Price per hour
      name:
        type: string
        description: Resource name
      sku:
        type: string
        description: Stock Keeping Unit (SKU)
    description: Detailed costs associated to an Elastic Cloud Resource for an organization.
      All of the costs are expressed in Elastic Consumption Unit (ECU).
  ItemsCosts:
    type: object
    required:
    - costs
    - data_transfer_and_storage
    - resources
    properties:
      costs:
        description: Costs for the Elastic Cloud resources
        "$ref": "#/definitions/Costs"
      data_transfer_and_storage:
        type: array
        description: List of the detailed costs associated to the Data Transfer and
          Storage (DTS) dimensions
        items:
          "$ref": "#/definitions/DtsDimensionCosts"
      resources:
        type: array
        description: Costs of the list of resources
        items:
          "$ref": "#/definitions/ItemCosts"
    description: Costs associated to a set of Elastic Cloud resources for an organization.
      All of the costs are expressed in Elastic Consumption Unit (ECU).
  KeystoreContents:
    type: object
    required:
    - secrets
    properties:
      secrets:
        type: object
        description: List of secrets
        additionalProperties:
          "$ref": "#/definitions/KeystoreSecret"
    description: The contents of the Elasticsearch keystore.
  KeystoreSecret:
    type: object
    properties:
      value:
        type: object
        description: 'Value of this setting. This can either be a string or a JSON
          object that is stored as a JSON string in the keystore. NOTE: When the keystore
          secret is unspecified, it is removed.'
      as_file:
        type: boolean
        description: Stores the keystore secret as a file. The default is false, which
          stores the keystore secret as string when value is a plain string, or true
          when value is an object.
    description: The value that you configure for the Elasticsearch keystore secret.
  Kibana:
    type: object
    required:
    - backend_plan
    - display_name
    - elasticsearch_cluster_ref_id
    - ref_id
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id
      display_name:
        type: string
        description: The human readable name (defaults to the generated cluster id
          if not specified)
      elasticsearch_cluster_ref_id:
        type: string
        description: The user-specified id of the Elasticsearch Cluster that this
          will link to
      backend_plan:
        type: object
        description: The backend plan as JSON
    description: Holds diagnostics for a Kibana resource
  KibanaClusterInfo:
    type: object
    required:
    - cluster_id
    - cluster_name
    - elasticsearch_cluster
    - external_links
    - healthy
    - metadata
    - plan_info
    - status
    - topology
    properties:
      cluster_id:
        type: string
        description: The id of the cluster
      cluster_name:
        type: string
        description: The name of the cluster
      elasticsearch_cluster:
        "$ref": "#/definitions/TargetElasticsearchCluster"
      deployment_id:
        type: string
        description: The id of the deployment to which this Kibana Server belongs
          to.
      healthy:
        type: boolean
        description: 'Whether the cluster is healthy or not (one or more of the info
          subsections will have healthy: false)'
      status:
        type: string
        description: Cluster status
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      plan_info:
        "$ref": "#/definitions/KibanaClusterPlansInfo"
      metadata:
        "$ref": "#/definitions/ClusterMetadataInfo"
      topology:
        "$ref": "#/definitions/ClusterTopologyInfo"
      external_links:
        type: array
        description: External resources related to the cluster
        uniqueItems: true
        items:
          "$ref": "#/definitions/ExternalHyperlink"
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
      settings:
        description: The cluster metadata settings for a kibana cluster
        "$ref": "#/definitions/KibanaClusterSettings"
      region:
        type: string
        description: The region that this cluster belongs to. Only populated in SaaS
          or federated ECE.
    description: The top-level object information for a Kibana instance.
  KibanaClusterPlan:
    type: object
    required:
    - kibana
    properties:
      cluster_topology:
        type: array
        items:
          "$ref": "#/definitions/KibanaClusterTopologyElement"
      kibana:
        "$ref": "#/definitions/KibanaConfiguration"
      transient:
        "$ref": "#/definitions/TransientKibanaPlanConfiguration"
    description: The plan for the Kibana instance.
  KibanaClusterPlanInfo:
    type: object
    required:
    - healthy
    - plan_attempt_log
    - warnings
    properties:
      plan_attempt_id:
        type: string
        description: A UUID for each plan attempt
      plan_attempt_name:
        type: string
        description: A human readable name for each plan attempt, only populated when
          retrieving plan histories
      healthy:
        type: boolean
        description: Either the plan ended successfully, or is not yet completed (and
          no errors have occurred)
      attempt_start_time:
        type: string
        format: date-time
        description: When this plan attempt (ie to apply the plan to the cluster)
          started (ISO format in UTC)
      attempt_end_time:
        type: string
        format: date-time
        description: If this plan completed or failed (ie is not pending), when the
          attempt ended (ISO format in UTC)
      plan_end_time:
        type: string
        format: date-time
        description: If this plan is not current or pending, when the plan was no
          longer active (ISO format in UTC)
      plan:
        "$ref": "#/definitions/KibanaClusterPlan"
      plan_attempt_log:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanStepInfo"
      source:
        description: Information describing the source that facilitated the plans
          current state
        "$ref": "#/definitions/ChangeSourceInfo"
      warnings:
        type: array
        items:
          "$ref": "#/definitions/ClusterPlanWarning"
      error:
        "$ref": "#/definitions/ClusterPlanAttemptError"
    description: Information about the current, pending, or past Kibana instance plan.
  KibanaClusterPlansInfo:
    type: object
    required:
    - healthy
    - history
    properties:
      healthy:
        type: boolean
        description: Whether the plan situation is healthy (if unhealthy, means the
          last plan attempt failed)
      current:
        "$ref": "#/definitions/KibanaClusterPlanInfo"
      pending:
        "$ref": "#/definitions/KibanaClusterPlanInfo"
      history:
        type: array
        items:
          "$ref": "#/definitions/KibanaClusterPlanInfo"
    description: Information about the current, pending, or past Kibana instance plans.
  KibanaClusterSettings:
    type: object
    properties:
      metadata:
        "$ref": "#/definitions/ClusterMetadataSettings"
    description: The settings for multiple Kibana instances.
  KibanaClusterTopologyElement:
    type: object
    properties:
      memory_per_node:
        type: integer
        format: int32
        description: The memory capacity in MB for each node of this type built in
          each zone.
      node_count_per_zone:
        type: integer
        format: int32
        description: The number of nodes of this type that are allocated within each
          zone (i.e. total capacity per zone = `node_count_per_zone` * `memory_per_node`
          in MB).
      instance_configuration_id:
        type: string
        description: Controls the allocation of this topology element as well as allowed
          sizes and node_types. It needs to match the id of an existing instance configuration.
      instance_configuration_version:
        type: integer
        format: int32
        description: The version of the Instance Configuration Id. If it is unset,
          the meaning depends on read vs writes. For deployment reads, it is equivalent
          to version 0 (or the IC is unversioned); for deployment creates and deployment
          template use, it is equivalent to 'the latest version'; and for deployment
          updates, it is equivalent to 'retain the current version'.
      size:
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: number of zones in which nodes will be placed
      kibana:
        "$ref": "#/definitions/KibanaConfiguration"
    description: The topology of the Kibana nodes, including the number, capacity,
      and type of nodes, and where they can be allocated.
  KibanaConfiguration:
    type: object
    properties:
      version:
        type: string
        description: The version of the Kibana cluster (must be one of the ECE supported
          versions, and won't work unless it matches the Elasticsearch version. Leave
          blank to auto-detect version.)
      docker_image:
        type: string
        description: A docker URI that allows overriding of the default docker image
          specified for this version
      system_settings:
        "$ref": "#/definitions/KibanaSystemSettings"
      user_settings_json:
        type: object
        description: An arbitrary JSON object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_yaml' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (This
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Kibana settings)
      user_settings_yaml:
        type: string
        description: An arbitrary YAML object allowing (non-admin) cluster owners
          to set their parameters (only one of this and 'user_settings_json' is allowed),
          provided the parameters are on the allowlist and not on the denylist. (These
          field together with 'user_settings_override*' and 'system_settings' defines
          the total set of Kibana settings)
      user_settings_override_json:
        type: object
        description: An arbitrary JSON object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_yaml' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Kibana
          settings)
      user_settings_override_yaml:
        type: string
        description: An arbitrary YAML object allowing ECE admins owners to set clusters'
          parameters (only one of this and 'user_settings_override_json' is allowed),
          ie in addition to the documented 'system_settings'. (This field together
          with 'system_settings' and 'user_settings*' defines the total set of Kibana
          settings)
    description: The Kibana instance settings. When specified at the top level, provides
      a field-by-field default. When specified at the topology level, provides the
      override settings.
  KibanaDeeplink:
    type: object
    required:
    - semver
    - uri
    properties:
      semver:
        type: string
        description: Semver condition when to apply the URI.
      uri:
        type: string
        description: URI to which the user should be directed.
    description: Embedded object that contains information for linking into a specific
      Kibana page configured via the template.
  KibanaPayload:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - plan
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: A locally-unique user-specified id for Kibana
      elasticsearch_cluster_ref_id:
        type: string
        description: Alias to the Elasticsearch Cluster to attach Kibana to
      display_name:
        type: string
        description: 'The human readable name for the Kibana cluster (default: takes
          the name of its Elasticsearch cluster)'
      region:
        type: string
        description: The region where this resource exists
      plan:
        "$ref": "#/definitions/KibanaClusterPlan"
      settings:
        description: The settings for building this Kibana cluster
        "$ref": "#/definitions/KibanaClusterSettings"
    description: A Kibana creation request paired with the alias of the Elasticsearch
      cluster it should be paired with
  KibanaPlanControlConfiguration:
    type: object
    properties:
      timeout:
        type: integer
        format: int64
        description: The total timeout in seconds after which the plan is cancelled
          even if it is not complete. Defaults to 4x the max memory capacity per node
          (in MB)
      calm_wait_time:
        type: integer
        format: int64
        description: This timeout determines how long to give a cluster after it responds
          to API calls before performing actual operations on it. It defaults to 5s
      move_instances:
        type: array
        items:
          "$ref": "#/definitions/InstanceMoveRequest"
      move_allocators:
        type: array
        items:
          "$ref": "#/definitions/AllocatorMoveRequest"
      reallocate_instances:
        type: boolean
        description: 'If true (default: false) does not allow re-using any existing
          instances currently in the cluster, ie even unchanged instances will be
          re-created'
      preferred_allocators:
        type: array
        description: List of allocators on which instances are placed if possible
          (if not possible/not specified then any available allocator with space is
          used)
        items:
          type: string
      preferred_allocator_tags:
        type: object
        description: Map containing allocators tags in form of key value pairs, increasing
          the likelihood during move requests for allocators with matching tags, to
          be selected as target allocators
        additionalProperties:
          type: string
      extended_maintenance:
        type: boolean
        description: If true (default false), does not clear the maintenance flag
          (which prevents its API from being accessed except by the constructor) on
          new instances added until after a snapshot has been restored, otherwise,
          the maintenance flag is cleared once the new instances successfully join
          the new cluster
      cluster_reboot:
        type: string
        description: Set to 'forced' to force a reboot as part of the upgrade plan
        enum:
        - forced
      override_failsafe:
        type: boolean
        description: If false (the default), the plan fails if it determines that
          the request can result in unsafe operations. Setting this flag overrides
          some of these check restraints.
    description: The configuration settings for the timeout and fallback parameters.
  KibanaResourceInfo:
    type: object
    required:
    - elasticsearch_cluster_ref_id
    - id
    - info
    - ref_id
    - region
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of a Resource
      elasticsearch_cluster_ref_id:
        type: string
        description: The Elasticsearch cluster that this resource depends on.
      id:
        type: string
        description: The randomly-generated id of a Resource
      region:
        type: string
        description: The region where this resource exists
      info:
        description: Info for the resource.
        "$ref": "#/definitions/KibanaClusterInfo"
    description: Describes an Kibana resource belonging to a Deployment
  KibanaSubClusterInfo:
    type: object
    required:
    - enabled
    - kibana_id
    properties:
      kibana_id:
        type: string
        description: The Kibana cluster Id
      enabled:
        type: boolean
        description: Whether the associated Kibana cluster is currently available
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
    description: Information about the Kibana instances associated with the Elasticsearch
      cluster.
  KibanaSystemSettings:
    type: object
    properties:
      elasticsearch_url:
        type: string
        description: |-
          DEPRECATED: Scheduled for removal in a future version of the API.

          Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)
      elasticsearch_username:
        type: string
        description: Optionally override the account within Elasticsearch - defaults
          to a system account that always exists (if specified, the password must
          also be specified). Note that this field is never returned from the API,
          it is write only.
      elasticsearch_password:
        type: string
        description: Optionally override the account within Elasticsearch - defaults
          to a system account that always exists (if specified, the username must
          also be specified). Note that this field is never returned from the API,
          it is write only.
    description: 'A subset of Kibana settings. TIP: To define the complete set of
      Elasticsearch settings, use `KibanaSystemSettings` with `user_settings_override_`
      and `user_settings_`.'
  LdapGroupSearch:
    type: object
    properties:
      base_dn:
        type: string
        description: Specifies a container DN to search for groups in which the user
          has membership
      scope:
        type: string
        description: Specifies whether the group search should be sub_tree, one_level
          or base. one_level only searches objects directly contained within the base_dn.
          The default sub_tree searches all objects contained under base_dn. base
          specifies that the base_dn is a group object, and that it is the only group
          considered.
        enum:
        - sub_tree
        - one_level
        - base
      filter:
        type: string
        description: Specifies a filter to search for a group. When unspecified, the
          security realm searches for group, groupOfNames, groupOfUniqueNames, or
          posixGroup with the attributes member, memberOf, or memberUid. Any instance
          of {0} in the filter is replaced by the user attribute defined in user_attribute.
      user_attribute:
        type: string
        description: Specifies the user attribute that is fetched and provided as
          a parameter to the filter. When unspecified, the user DN is passed to the
          filter.
    description: The group search configuration for the Elasticsearch security LDAP
      realm.
  LdapSecurityRealmLoadBalance:
    type: object
    properties:
      type:
        type: string
        description: The behavior to use when there are multiple LDAP URLs defined
        enum:
        - failover
        - dns_failover
        - round_robin
        - dns_round_robin
      cache_ttl:
        type: string
        description: When using dns_failover or dns_round_robin as the load balancing
          type, this setting controls the amount of time to cache DNS lookups. Defaults
          to 1h.
    description: The load balancing configuration for the Elasticsearch security LDAP
      realm.
  LdapSecurityRealmRoleMappingRule:
    type: object
    required:
    - roles
    - type
    - value
    properties:
      type:
        type: string
        description: The type of role mapping rule
        enum:
        - user_dn
        - group_dn
      roles:
        type: array
        description: The roles that are applied when the mapping rule is successfully
          evaluated
        items:
          type: string
      value:
        type: string
        description: The value to match when evaluating this rule
    description: The role mapping rule for the Elasticsearch security LDAP realm.
  LdapSecurityRealmRoleMappingRules:
    type: object
    required:
    - default_roles
    - rules
    properties:
      default_roles:
        type: array
        description: The default roles applied to all users
        items:
          type: string
      rules:
        type: array
        description: The role mapping rules to evaluate
        items:
          "$ref": "#/definitions/LdapSecurityRealmRoleMappingRule"
    description: The role mapping ruleset for the Elasticsearch security LDAP realm.
  LdapSettings:
    type: object
    required:
    - bind_anonymously
    - bind_type
    - id
    - name
    - urls
    properties:
      id:
        type: string
        description: The identifier for the security realm
      name:
        type: string
        description: The friendly name of the security realm
      urls:
        type: array
        description: The LDAP URLs used to authenticate against, in the format ldap[s]://server:port.
          Note that ldap and ldaps protocols cannot be mixed together.
        items:
          type: string
      bind_anonymously:
        type: boolean
        description: When true, bindDb credentials are ignored
      bind_type:
        type: string
        description: The type of user binding to apply
        enum:
        - user_search
        - user_templates
      group_search:
        description: The LDAP group search configuration
        "$ref": "#/definitions/LdapGroupSearch"
      user_search:
        description: The LDAP user search configuration. Only used when bind_type
          is set to 'user_search'.
        "$ref": "#/definitions/LdapUserSearch"
      user_dn_templates:
        type: array
        description: The distinguished name template that replaces the user name with
          the string {0}. Only used when bind_type is set to 'user_templates'.
        items:
          type: string
      bind_dn:
        type: string
        description: The distinguished name of the user that is used to bind to the
          LDAP and perform searches. Only used when bind_type is set to 'user_search'.
      bind_password:
        type: string
        description: The user password that is used to bind to the LDAP server. Only
          used when bind_type is set to 'user_search'.
      user_group_attribute:
        type: string
        description: Specifies the attribute to examine on the user for group membership.
          If any 'group_search' settings are specified, this setting is ignored. Defaults
          to 'memberOf'.
      load_balance:
        description: The LDAP load balancing behavior
        "$ref": "#/definitions/LdapSecurityRealmLoadBalance"
      certificate_url:
        type: string
        description: The SSL trusted CA certificate bundle URL. The bundle should
          be a zip file containing a single keystore file 'keystore.ks' in the directory
          '/ldap/:id/truststore', where :id is the value of the [id] field.
      certificate_url_truststore_password:
        type: string
        description: The password to the certificate bundle URL truststore
      certificate_url_truststore_type:
        type: string
        description: The format of the truststore file. Should be jks to use the Java
          Keystore format or PKCS12 to use PKCS#12 files.  The default is jks.
        enum:
        - jks
        - PKCS12
      role_mappings:
        description: The role mapping rules associated with the security realm
        "$ref": "#/definitions/LdapSecurityRealmRoleMappingRules"
      enabled:
        type: boolean
        description: When true, enables the security realm
      order:
        type: integer
        format: int32
        description: The order that the security realm is evaluated
      override_yaml:
        type: string
        description: 'Advanced configuration options in YAML format. Any settings
          defined here will override any configuration set via the API. Note that
          all keys should omit the ''xpack.security.authc.realms.ldap.{realm_id}''
          prefix. For example, when the realm ID is set to ''ldap1'', the advanced
          configuration ''xpack.security.authc.realms.ldap.ldap1.ssl.verification_mode:
          full'' should be added as ''ssl.verification_mode: full''.'
    description: The configuration for the Elasticsearch security LDAP realm.
  LdapUserSearch:
    type: object
    properties:
      base_dn:
        type: string
        description: Specifies a container DN to search for users
      scope:
        type: string
        description: The scope of the user search. Valid values are sub_tree, one_level,
          or base. one_level only searches objects directly contained in the base_dn.
          sub_tree searches all objects contained in base_dn. base specifies that
          the base_dn is the user object, and that it is the only user considered.
          Defaults to sub_tree.
        enum:
        - sub_tree
        - one_level
        - base
      filter:
        type: string
        description: Specifies the filter to search the directory and match an entry
          with the username provided by the user. Defaults to (uid={0}). {0} is substituted
          with the username provided when searching.
    description: The user search configuration for the Elasticsearch security LDAP
      realm.
  LicenseInfo:
    type: object
    required:
    - expiry_date_in_millis
    - issue_date_in_millis
    - issued_to
    - issuer
    - signature
    - start_date_in_millis
    - type
    - uid
    properties:
      version:
        type: integer
        format: int32
        description: Version of the license
      uid:
        type: string
        description: Unique identifier of the license
      issuer:
        type: string
        description: Issuer of the license
      issued_to:
        type: string
        description: Entity the license was issued to
      issue_date_in_millis:
        type: integer
        format: int64
        description: When the license was issued, in milliseconds since the Unix epoch
      type:
        type: string
        description: Type of the license
      subscription_type:
        type: string
        description: Type of the license subscription
      signature:
        type: string
        description: Digital signature
      start_date_in_millis:
        type: integer
        format: int64
        description: Initial validity of the license, in milliseconds since the Unix
          epoch
      expiry_date_in_millis:
        type: integer
        format: int64
        description: When the license expires, in milliseconds since the Unix epoch
      max_allocators:
        type: integer
        format: int32
        description: Maximum number of allocators. Empty for version >= 3
      max_ram_per_allocator_mb:
        type: integer
        format: int32
        description: Maximum RAM per allocator in MB. Empty for version >= 3
      max_instances:
        type: integer
        format: int32
        description: Maximum number of instances. Only present for version 3
      max_resource_units:
        type: integer
        format: int32
        description: Maximum number of resource units, where each unit is 64GB. Only
          present for version > 3
      operation_mode:
        type: string
        description: Operation mode
      cluster_licenses:
        type: array
        description: List of cluster licenses
        items:
          "$ref": "#/definitions/ClusterLicenseInfo"
    description: Information about a license.
  LicenseObject:
    type: object
    required:
    - license
    properties:
      license:
        description: License data
        "$ref": "#/definitions/LicenseInfo"
      usage_stats:
        description: Information about current usage.
        readOnly: true
        "$ref": "#/definitions/UsageStats"
    description: The container for a license.
  ListEnrollmentTokenElement:
    type: object
    required:
    - roles
    - token_id
    properties:
      token_id:
        type: string
        description: An identifier for the token
      roles:
        type: array
        description: The services for which this enrollment token applies
        items:
          type: string
    description: Information about an active enrollment token.
  ListEnrollmentTokenReply:
    type: object
    required:
    - tokens
    properties:
      tokens:
        type: array
        description: The list of currently active enrollment tokens
        items:
          "$ref": "#/definitions/ListEnrollmentTokenElement"
    description: Information about active enrollment tokens.
  LoggingSettings:
    type: object
    required:
    - logging_levels
    properties:
      logging_levels:
        type: object
        description: Overridden logging levels. Keys are logging levels. Allowable
          values are OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL
        additionalProperties:
          type: string
    description: Information about logging settings.
  LoginRequest:
    type: object
    required:
    - password
    - username
    properties:
      username:
        type: string
        description: The username part of the login request
      password:
        type: string
        description: The plain text password part of the login request
      login_state:
        "$ref": "#/definitions/LoginState"
    description: The body of a login request.
  LoginState:
    type: object
    properties:
      path:
        type: string
        description: The path to which to redirect post login - if not specified then
          no redirect is performed, instead 200 is returned with the token in the
          body
    description: Configure how the API responds after a successful login.
  ManagedMonitoringSettings:
    type: object
    required:
    - target_cluster_id
    properties:
      target_cluster_id:
        type: string
        description: The Id of the target cluster to which to send monitoring information
    description: The settings for sending monitoring information to another cluster.
  MatchAllQuery:
    type: object
    description: A query that matches all documents.
  MatchNoneQuery:
    type: object
    description: A query that doesn't match any documents.
  MatchQuery:
    type: object
    required:
    - query
    properties:
      query:
        type: string
        description: The text/numeric/date to query for.
      operator:
        type: string
        description: The operator flag can be set to or or and to control the boolean
          clauses (defaults to or).
      minimum_should_match:
        type: integer
        format: int32
        description: The minimum number of optional should clauses to match.
      analyzer:
        type: string
        description: The analyzer that will be used to perform the analysis process
          on the text. Defaults to the analyzer that was used to index the field.
    description: Consumes and analyzes text, numbers, and dates, then constructs a
      query.
  Metadata:
    type: object
    required:
    - created_time
    - modified_time
    - version
    properties:
      created_time:
        type: string
        format: date-time
        description: Creation time
      modified_time:
        type: string
        format: date-time
        description: Modification time
      version:
        type: string
        description: Version
    description: Metadata of an entity
  MetadataItem:
    type: object
    required:
    - key
    - value
    properties:
      key:
        type: string
        description: The metadata field name
      value:
        type: string
        description: The metadata value
    description: The key-value pair.
  MetadataItemValue:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: The metadata value
    description: The value of the metadata item, which is primarily used to add a
      single item when the key is provided in the URL.
  MetadataItems:
    type: object
    required:
    - items
    properties:
      items:
        type: array
        description: A collection of arbitrary metadata items associated with a resource.
        items:
          "$ref": "#/definitions/MetadataItem"
    description: The container object for metadata items.
  ModelVersionIndexSynchronizationResults:
    type: object
    required:
    - results
    properties:
      results:
        type: object
        description: The results of synchronizing indices organized by model version
        additionalProperties:
          "$ref": "#/definitions/IndexSynchronizationResults"
    description: Results from synchronizing indices by model version
  MoveApmClusterConfiguration:
    type: object
    required:
    - cluster_ids
    properties:
      cluster_ids:
        type: array
        description: Identifiers for the Apm clusters.
        items:
          type: string
      plan_override:
        description: Plan override to apply to the Apm clusters being moved.
        "$ref": "#/definitions/TransientApmPlanConfiguration"
    description: The configuration object for moving APM Servers.
  MoveApmClusterDetails:
    type: object
    required:
    - cluster_id
    properties:
      cluster_id:
        type: string
        description: Identifier for the Apm cluster.
      calculated_plan:
        description: If only validating the move, then the plan configuration that
          would be applied to the cluster.
        "$ref": "#/definitions/TransientApmPlanConfiguration"
      errors:
        type: array
        description: A list of errors that occurred if the attempt to move the cluster
          failed.
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
    description: Information about the APM Server that you want to move.
  MoveAppSearchConfiguration:
    type: object
    required:
    - cluster_ids
    properties:
      cluster_ids:
        type: array
        description: Identifiers for the App Searches.
        items:
          type: string
      plan_override:
        description: Plan override to apply to the App Searches being moved.
        "$ref": "#/definitions/TransientAppSearchPlanConfiguration"
    description: The configuration object for moving App Searches.
  MoveAppSearchDetails:
    type: object
    required:
    - cluster_id
    properties:
      cluster_id:
        type: string
        description: Identifier for the App Search.
      calculated_plan:
        description: If only validating the move, then the plan configuration that
          would be applied to the cluster.
        "$ref": "#/definitions/TransientAppSearchPlanConfiguration"
      errors:
        type: array
        description: A list of errors that occurred if the attempt to move the cluster
          failed.
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
    description: Information about the App Search that you want to move.
  MoveClustersCommandResponse:
    type: object
    required:
    - failures
    - moves
    properties:
      failures:
        description: Detailed information about the clusters that failed to move.
        "$ref": "#/definitions/MoveClustersDetails"
      moves:
        description: Detailed information about the clusters being moved off the allocator.
        "$ref": "#/definitions/MoveClustersDetails"
    description: Information about the move operations for the Elasticsearch clusters,
      multiple Kibana instances, and multiple APM Servers, prior to the move.
  MoveClustersDetails:
    type: object
    required:
    - apm_clusters
    - appsearch_clusters
    - elasticsearch_clusters
    - enterprise_search_clusters
    - kibana_clusters
    properties:
      elasticsearch_clusters:
        type: array
        description: Detailed information about the Elasticsearch clusters being moved.
        items:
          "$ref": "#/definitions/MoveElasticsearchClusterDetails"
      kibana_clusters:
        type: array
        description: Detailed information about the Kibana clusters being moved.
        items:
          "$ref": "#/definitions/MoveKibanaClusterDetails"
      apm_clusters:
        type: array
        description: Detailed information about the Apm clusters being moved.
        items:
          "$ref": "#/definitions/MoveApmClusterDetails"
      appsearch_clusters:
        type: array
        description: Detailed information about the App Search clusters being moved.
        items:
          "$ref": "#/definitions/MoveAppSearchDetails"
      enterprise_search_clusters:
        type: array
        description: Detailed information about the Elastic Enterprise Search clusters
          being moved.
        items:
          "$ref": "#/definitions/MoveEnterpriseSearchDetails"
    description: Information about the Elasticsearch clusters, multiple Kibana instances,
      and multiple APM Servers that are moved off of the allocator.
  MoveClustersRequest:
    type: object
    properties:
      elasticsearch_clusters:
        type: array
        description: Optional list of Elasticsearch clusters to move off the allocator.
        items:
          "$ref": "#/definitions/MoveElasticsearchClusterConfiguration"
      kibana_clusters:
        type: array
        description: Optional list of Kibana clusters to move off the allocator.
        items:
          "$ref": "#/definitions/MoveKibanaClusterConfiguration"
      apm_clusters:
        type: array
        description: Optional list of Apm clusters to move off the allocator.
        items:
          "$ref": "#/definitions/MoveApmClusterConfiguration"
      appsearch_clusters:
        type: array
        description: Optional list of App Search clusters to move off the allocator.
        items:
          "$ref": "#/definitions/MoveAppSearchConfiguration"
      enterprise_search_clusters:
        type: array
        description: Optional list of Elastic Enterprise Search clusters to move off
          the allocator.
        items:
          "$ref": "#/definitions/MoveEnterpriseSearchConfiguration"
    description: The request for moving Elasticsearch clusters off an allocator.
  MoveElasticsearchClusterConfiguration:
    type: object
    required:
    - cluster_ids
    properties:
      cluster_ids:
        type: array
        description: Identifiers for the Elasticsearch clusters.
        items:
          type: string
      plan_override:
        description: Plan override to apply to the Elasticsearch clusters being moved.
        "$ref": "#/definitions/TransientElasticsearchPlanConfiguration"
    description: The configuration object for moving Elasticsearch clusters.
  MoveElasticsearchClusterDetails:
    type: object
    required:
    - cluster_id
    properties:
      cluster_id:
        type: string
        description: Identifier for the Elasticsearch cluster.
      calculated_plan:
        description: If only validating the move, then the plan configuration that
          would be applied to the cluster.
        "$ref": "#/definitions/TransientElasticsearchPlanConfiguration"
      errors:
        type: array
        description: A list of errors that occurred if the attempt to move the cluster
          failed.
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
    description: Information about the Elasticsearch cluster that you want to move.
  MoveEnterpriseSearchConfiguration:
    type: object
    required:
    - cluster_ids
    properties:
      cluster_ids:
        type: array
        description: Identifiers for the Elastic Enterprise Search clusters.
        items:
          type: string
      plan_override:
        description: Plan override to apply to the Elastic Enterprise Search instances
          being moved.
        "$ref": "#/definitions/TransientEnterpriseSearchPlanConfiguration"
    description: The configuration object for moving Elastic Enterprise Search instances.
  MoveEnterpriseSearchDetails:
    type: object
    required:
    - cluster_id
    properties:
      cluster_id:
        type: string
        description: Identifier for the Elastic Enterprise Search.
      calculated_plan:
        description: If only validating the move, then the plan configuration that
          would be applied to the cluster.
        "$ref": "#/definitions/TransientEnterpriseSearchPlanConfiguration"
      errors:
        type: array
        description: A list of errors that occurred if the attempt to move the cluster
          failed.
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
    description: Information about the Elastic Enterprise Search that you want to
      move.
  MoveKibanaClusterConfiguration:
    type: object
    required:
    - cluster_ids
    properties:
      cluster_ids:
        type: array
        description: Identifiers for the Kibana clusters.
        items:
          type: string
      plan_override:
        description: Plan override to apply to the Kibana clusters being moved.
        "$ref": "#/definitions/TransientKibanaPlanConfiguration"
    description: The configuration object for moving Kibana instances.
  MoveKibanaClusterDetails:
    type: object
    required:
    - cluster_id
    properties:
      cluster_id:
        type: string
        description: Identifier for the Kibana cluster.
      calculated_plan:
        description: If only validating the move, then the plan configuration that
          would be applied to the cluster.
        "$ref": "#/definitions/TransientKibanaPlanConfiguration"
      errors:
        type: array
        description: A list of errors that occurred if the attempt to move the cluster
          failed.
        items:
          "$ref": "#/definitions/BasicFailedReplyElement"
    description: Information about the Kibana instance that you want to move.
  NestedQuery:
    type: object
    required:
    - path
    - query
    properties:
      query:
        description: The actual query to execute on the nested objects.
        "$ref": "#/definitions/QueryContainer"
      path:
        type: string
        description: The path to the nested object.
      score_mode:
        type: string
        description: Allows to specify how inner children matching affects score of
          the parent. Refer to the Elasticsearch documentation for details.
        enum:
        - avg
        - sum
        - min
        - max
        - none
    description: A query that matches nested objects.
  NodeTypeResource:
    type: object
    required:
    - description
    - name
    - node_type
    properties:
      node_type:
        type: string
        description: Node type, part of the key for this resource
      name:
        type: string
        description: Node type name
      description:
        type: string
        description: Node type description
      default_instance_configuration_id:
        type: string
        description: Id of the default instance configuration to use for this node
          type.
      mandatory:
        type: boolean
        description: Flag to specify a node type is mandatory in the corresponding
          cluster's plan
    description: Information about the node type.
  ObservabilityAbsoluteDeployment:
    type: object
    required:
    - deployment_id
    properties:
      deployment_id:
        type: string
        description: The deployment to send logs and/or metrics to. Contains either
          the deployment's ID or 'self'.
      ref_id:
        type: string
        description: RefId of the Elasticsearch cluster to send logs and/or metrics
          to. If not specified, refId is resolved automatically as long as the destination
          deployment contains a single Elasticsearch resource.
    description: The destination to send logs and metrics to
  ObservabilityIssue:
    type: object
    required:
    - description
    - severity
    properties:
      description:
        type: string
        description: A user-friendly description of the observability health issue
      severity:
        type: string
        description: Severity of the health issue
    description: Observability health issue
  Organization:
    type: object
    required:
    - id
    - name
    properties:
      id:
        type: string
        description: The organization's identifier
      name:
        type: string
        description: The organization's friendly name
      default_disk_usage_alerts_enabled:
        type: boolean
        description: Whether the default disk alerts are enabled
      notifications_allowed_email_domains:
        type: array
        description: The list of allowed domains for notification-email recipients
        items:
          type: string
      billing_contacts:
        type: array
        description: The list of contacts for billing notifications, if specified
        items:
          type: string
      operational_contacts:
        type: array
        description: The list of contacts for operational notifications, if specified
        items:
          type: string
      sso_login_identifier:
        type: string
        description: The login identifier for initiating SSO
    description: An organization
  OrganizationInvitation:
    type: object
    required:
    - created_at
    - email
    - expired
    - expires_at
    - organization
    - token
    properties:
      token:
        type: string
        description: The token used to accept the invitation
      email:
        type: string
        description: The email address to invite to the organization
      created_at:
        type: string
        format: date-time
        description: The date and time when the invitation was created
      expires_at:
        type: string
        format: date-time
        description: The date and time when the invitation expires
      expired:
        type: boolean
        description: True if the invitation is expired
      accepted_at:
        type: string
        format: date-time
        description: The date and time when the invitation was accepted
      organization:
        description: The organization associated with this invitation
        "$ref": "#/definitions/Organization"
      role_assignments:
        description: The roles that will be assigned to users once they accept the
          invitation. Currently unavailable in self-hosted ECE.
        "$ref": "#/definitions/RoleAssignments"
    description: An invitation to an organization
  OrganizationInvitationRequest:
    type: object
    required:
    - emails
    properties:
      emails:
        type: array
        description: The email addresses to invite to the organization
        items:
          type: string
      expires_in:
        type: string
        description: The date and time when the invitation expires. Defaults to three
          days from now.
      role_assignments:
        description: The roles that will be assigned to users once they accept the
          invitation. Currently unavailable in self-hosted ECE.
        "$ref": "#/definitions/RoleAssignments"
    description: A request to create one or more invitations to an organization
  OrganizationInvitations:
    type: object
    required:
    - invitations
    properties:
      invitations:
        type: array
        description: The list of organization invitations
        items:
          "$ref": "#/definitions/OrganizationInvitation"
    description: A collection of invitations to an organization
  OrganizationList:
    type: object
    required:
    - organizations
    properties:
      organizations:
        type: array
        description: The list of organizations
        items:
          "$ref": "#/definitions/Organization"
      next_page:
        type: string
        description: A cursor to get the next page of results
    description: A collection of Organizations
  OrganizationMembership:
    type: object
    required:
    - member_since
    - organization_id
    - user_id
    properties:
      organization_id:
        type: string
        description: The organization's identifier
      user_id:
        type: string
        description: The users's identifier
      name:
        type: string
        description: The user's full name
      email:
        type: string
        description: The user's email address
      member_since:
        type: string
        format: date-time
        description: The date and time the user was added to the organization
      role_assignments:
        description: The user's assigned roles. Currently unavailable in self-hosted
          ECE.
        "$ref": "#/definitions/RoleAssignments"
    description: A user's membership to an organization
  OrganizationMemberships:
    type: object
    required:
    - members
    properties:
      members:
        type: array
        description: The list of organization memberships
        items:
          "$ref": "#/definitions/OrganizationMembership"
    description: All user memberships to an organization
  OrganizationRequest:
    type: object
    properties:
      name:
        type: string
        description: The organization's friendly name
      default_disk_usage_alerts_enabled:
        type: boolean
        description: Whether the default disk alerts are enabled
      notifications_allowed_email_domains:
        type: array
        description: The list of allowed domains for notification-email recipients
        items:
          type: string
      billing_contacts:
        type: array
        description: The list of contacts for billing notifications
        items:
          type: string
      operational_contacts:
        type: array
        description: The list of contacts for operational notifications
        items:
          type: string
    description: A request to create or update an organization
  OrganizationRoleAssignment:
    type: object
    required:
    - organization_id
    - role_id
    properties:
      role_id:
        type: string
        description: The ID of the role that is assigned.
      organization_id:
        type: string
        description: The ID of the organization the role is scoped to.
    description: Assignment for a role with organization scope.
  Orphaned:
    type: object
    required:
    - apm
    - appsearch
    - elasticsearch
    - enterprise_search
    - integrations_server
    - kibana
    properties:
      elasticsearch:
        type: array
        description: List of orphaned Elasticsearch resources
        items:
          "$ref": "#/definitions/OrphanedElasticsearch"
      kibana:
        type: array
        description: List of orphaned Kibana resource ids
        items:
          type: string
      apm:
        type: array
        description: List of orphaned APM resource ids
        items:
          type: string
      appsearch:
        type: array
        description: List of orphaned AppSearch resource ids
        items:
          type: string
      enterprise_search:
        type: array
        description: List of orphaned Enterprise Search resource ids
        items:
          type: string
      integrations_server:
        type: array
        description: List of orphaned Integrations Server resource ids
        items:
          type: string
    description: Details about orphaned resources.
  OrphanedElasticsearch:
    type: object
    required:
    - dependents
    - id
    properties:
      id:
        type: string
        description: The id of the orphaned resource
      dependents:
        type: array
        description: List of orphaned dependent resources
        items:
          "$ref": "#/definitions/ElasticsearchDependant"
    description: Details about an orphaned Elasticsearch resources.
  PendingState:
    type: object
    required:
    - value
    properties:
      value:
        type: boolean
        description: Whether a runner is pending blessings or not
    description: Pending state
  PendingStates:
    type: object
    required:
    - runner_ids_to_pending_state
    properties:
      runner_ids_to_pending_state:
        type: object
        description: A mapping of Runner Ids to whether or not they are waiting to
          be blessed to run the associated role
        additionalProperties:
          "$ref": "#/definitions/PendingState"
    description: Describes whether certain runners are waiting to be blessed.
  PendingStatesWithMeta:
    type: object
    required:
    - meta
    - value
    properties:
      value:
        description: The pending stages
        "$ref": "#/definitions/PendingStates"
      meta:
        description: The metadata
        "$ref": "#/definitions/Metadata"
    description: Persisted pending states for a role along with metadata
  Period:
    type: object
    required:
    - end
    - start
    properties:
      start:
        type: string
        format: date-time
        description: Start
      end:
        type: string
        format: date-time
        description: End
    description: Period
  PlanStrategy:
    type: object
    properties:
      rolling:
        "$ref": "#/definitions/RollingStrategyConfig"
      grow_and_shrink:
        "$ref": "#/definitions/GrowShrinkStrategyConfig"
      rolling_grow_and_shrink:
        "$ref": "#/definitions/RollingGrowShrinkStrategyConfig"
      autodetect:
        "$ref": "#/definitions/AutodetectStrategyConfig"
    description: The options for performing a plan change. Specify only one property
      each time. The default is `grow_and_shrink`.
  PlatformInfo:
    type: object
    required:
    - eula_accepted
    - phone_home_enabled
    - regions
    - services
    - unreachable_regions
    - version
    properties:
      version:
        type: string
        description: Platform version
      services:
        type: array
        items:
          "$ref": "#/definitions/PlatformServiceInfo"
      phone_home_enabled:
        type: boolean
        description: Is the phone-home service, which returns anonymized usage statistics
          to Elastic, enabled
      eula_accepted:
        type: boolean
        description: Indicates if the End User License Agreement been accepted
      regions:
        type: array
        description: Information on regions
        items:
          "$ref": "#/definitions/RegionInfo"
      unreachable_regions:
        type: array
        description: Information on currently unreachable regions
        items:
          "$ref": "#/definitions/UnreachableRegionInfo"
    description: Information about the platform.
  PlatformResourcesSummary:
    type: object
    required:
    - account_count
    - available_count
    - healthy
    - minimum_available_count
    - missing_count
    - used_count
    properties:
      healthy:
        type: boolean
        description: Whether all resources are healthy
      available_count:
        type: integer
        format: int32
        description: Number of available resources
      used_count:
        type: integer
        format: int32
        description: Number of used resources
      missing_count:
        type: integer
        format: int32
        description: Number of missing resources
      minimum_available_count:
        type: integer
        format: int32
        description: Minimum number of available resources
      account_count:
        type: integer
        format: int32
        description: Number of accounts
    description: Information about resources.
  PlatformRoleAssignment:
    type: object
    required:
    - role_id
    properties:
      role_id:
        type: string
        description: The ID of the role that is assigned.
    description: Assignment for a role with platform scope.
  PlatformServiceImageInfo:
    type: object
    required:
    - hash
    - id
    - tag
    - version
    properties:
      id:
        type: string
        example: docker.elastic.co/elastic-cloud-enterprise:1.0.0-GA
        description: Id of runner that hosts the container
      tag:
        type: string
        example: docker.elastic.co/elastic-cloud-enterprise:1.0.0-GA
        description: Image tag
      version:
        type: string
        example: 1.0.0-GA
        description: Version of service
      hash:
        type: string
        example: sha256:04a5be1ab07de64269ffa52da26044e0ecc36fa1164e7914468e69d65a2090d4
        description: Image hash code
    description: The docker image that is used to run a service.
  PlatformServiceInfo:
    type: object
    required:
    - image
    - type
    properties:
      type:
        type: string
        description: Name of service
      image:
        type: array
        items:
          "$ref": "#/definitions/PlatformServiceImageInfo"
    description: The platform service information.
  PortBinding:
    type: object
    required:
    - host_port
    properties:
      host_port:
        type: string
        description: Port as observed by the host.
      host_ip:
        type: string
        example: 0.0.0.0
        description: IP to bind to on the host. I.e {@code 0.0.0.0}
    description: Value used to bind to a port on the host.
  PrefixQuery:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: The prefix to search for.
      boost:
        type: number
        format: float
        description: An optional boost value to apply to the query.
    description: The query that matches documents with fields that contain terms with
      a specified, not analyzed, prefix.
  ProjectRoleAssignment:
    type: object
    required:
    - organization_id
    - role_id
    properties:
      role_id:
        type: string
        description: The ID of the role that is assigned.
      organization_id:
        type: string
        description: The ID of the organization the role is scoped to.
      all:
        type: boolean
        description: When true, the role applies to all projects in the organization,
          otherwise the role is scoped to the projects specified in `project_ids`.
      project_ids:
        type: array
        description: The IDs of the projects the role is scoped to. Must be absent
          if `all` is true, and present if `all` is false.
        items:
          type: string
      application_roles:
        type: array
        description: If provided, the user assigned this role assignment will be granted
          this application role when signing in to the project(s) specified in the
          role assignment.
        items:
          type: string
    description: Assignment for a role with project scope.
  ProjectRoleAssignments:
    type: object
    properties:
      elasticsearch:
        type: array
        description: The Elasticsearch project-scoped role assignments to set
        items:
          "$ref": "#/definitions/ProjectRoleAssignment"
      observability:
        type: array
        description: The Observability project-scoped role assignments to set
        items:
          "$ref": "#/definitions/ProjectRoleAssignment"
      security:
        type: array
        description: The Security project-scoped role assignments to set
        items:
          "$ref": "#/definitions/ProjectRoleAssignment"
    description: Assignments for roles with project scope.
  ProxiesAllocationsInfo:
    type: object
    required:
    - allocations_type
    - max_allocations
    - proxies_at_max_allocations
    properties:
      allocations_type:
        type: string
        description: The type of proxy allocations (e.g. Elasticsearch, Kibana, APM)
      max_allocations:
        type: integer
        format: int32
        description: The maximum number of allocations
      proxies_at_max_allocations:
        type: integer
        format: int32
        description: The number of proxies that have the maximum number of allocations
    description: The allocation status for a specified type, such as Elasticsearch,
      Kibana, or APM. The status is part of the overall proxy health information.
  ProxiesFilter:
    type: object
    required:
    - key
    - value
    properties:
      key:
        type: string
        description: Key of the proxy metadata item to be matched
      value:
        type: string
        description: Value of the proxy metadata item to be matched
    description: Selects proxies by matching a proxy metadata item.
  ProxiesFilteredGroup:
    type: object
    required:
    - expected_proxies_count
    - filters
    properties:
      id:
        type: string
        description: Identifier of the filtered group of proxies
      filters:
        type: array
        description: Filters to be matched
        items:
          "$ref": "#/definitions/ProxiesFilter"
      expected_proxies_count:
        type: integer
        format: int32
        description: Expected minimum number of proxies matching all filters in this
          group
    description: A set of proxy filters with an expected number of matching proxies.
  ProxiesFilteredGroupHealth:
    type: object
    required:
    - group
    - observed_proxies_count
    - status
    properties:
      group:
        description: Settings of the filtered group
        "$ref": "#/definitions/ProxiesFilteredGroup"
      observed_proxies_count:
        type: integer
        format: int32
        description: The number of proxies that match all of the filters in the group
      status:
        type: string
        description: '"Health status for this filtered group. One of "Green", "Yellow"
          or "Red"'
    description: The health status of a filtered proxy group.
  ProxiesHealth:
    type: object
    required:
    - allocations
    - expected_proxies_count
    - filtered_groups
    - observed_proxies_count
    - status
    properties:
      observed_proxies_count:
        type: integer
        format: int32
        description: Total number of proxies
      expected_proxies_count:
        type: integer
        format: int32
        description: Expected minimum number of proxies
      allocations:
        type: array
        description: Allocations for proxies
        items:
          "$ref": "#/definitions/ProxiesAllocationsInfo"
      filtered_groups:
        type: array
        description: Filtered groups of proxies with associated status
        items:
          "$ref": "#/definitions/ProxiesFilteredGroupHealth"
      status:
        type: string
        description: '"Health status for all proxies. One of "Green", "Yellow" or
          "Red"'
  ProxiesHttpSettings:
    type: object
    required:
    - cookie_secret
    - dashboards_base_url
    - disconnected_cutoff
    - minimum_proxy_services
    - sso_settings
    - user_cookie_key
    properties:
      disconnected_cutoff:
        type: integer
        format: int64
        description: Cutoff interval after disconnection in milliseconds
      minimum_proxy_services:
        type: integer
        format: int32
        description: Minimum number of proxy instances
      sso_settings:
        description: Settings related to single-sign-on
        "$ref": "#/definitions/ProxiesSSOSettings"
      dashboards_base_url:
        type: string
        description: Base URL for the dashboard
      cookie_secret:
        type: string
        description: Secret string for the HTTP cookie
      user_cookie_key:
        type: string
        description: User key for the HTTP cookie
    description: |-
      > WARNING
      > This object is deprecated and scheduled to be removed in the next major version.
  ProxiesSSOSettings:
    type: object
    required:
    - cookie_name
    - default_redirect_path
    - dont_log_requests
    - maintenance_bypass_cookie_name
    - max_age
    - sso_secret
    properties:
      max_age:
        type: integer
        format: int64
        description: Maximum age of single-sign-on token in milliseconds
      sso_secret:
        type: string
        description: Secret string for single-sign-on
      cookie_name:
        type: string
        description: Name of the HTTP cookie used for single-sign-on
      dont_log_requests:
        type: boolean
        description: If true, don't log requests
      default_redirect_path:
        type: string
        description: Default path where users are redirected after a successful single-sign-on
      maintenance_bypass_cookie_name:
        type: string
        description: Name of the cookie that bypasses maintenance
    description: |-
      > WARNING
      > This object is deprecated and scheduled to be removed in the next major version.
  ProxiesSettings:
    type: object
    required:
    - expected_proxies_count
    - http_settings
    - signature_secret
    - signature_valid_for_millis
    properties:
      expected_proxies_count:
        type: integer
        format: int32
        description: Expected number of proxies
      signature_secret:
        type: string
        description: Secret string for signature generation
      signature_valid_for_millis:
        type: integer
        format: int64
        description: Signature validity in milliseconds
      http_settings:
        description: HTTP settings
        "$ref": "#/definitions/ProxiesHttpSettings"
    description: |-
      > WARNING
      > This object is deprecated and scheduled to be removed in the next major version.
  ProxiesSummary:
    type: object
    required:
    - expected_proxies_count
    - healthy
    - proxies
    - proxies_count
    properties:
      healthy:
        type: boolean
        description: Whether all proxies are healthy
      expected_proxies_count:
        type: integer
        format: int32
        description: Expected number of proxies
      proxies_count:
        type: integer
        format: int32
        description: Total number of proxies
      proxies:
        type: array
        description: Summarized information about each proxy
        items:
          "$ref": "#/definitions/ProxySummary"
    description: Summarized information about proxies.
  ProxyAllocationCounts:
    type: object
    required:
    - allocations
    - connectors
    properties:
      allocations:
        type: integer
        format: int32
        description: The allocations count.
      connectors:
        type: integer
        format: int32
        description: The connector count.
    description: The number of proxy allocations.
  ProxyAllocationInfo:
    type: object
    required:
    - allocations_type
    - counts
    properties:
      allocations_type:
        type: string
        description: The type of proxy allocations
        enum:
        - elasticsearch
        - kibana
        - apm
        - integrations_server
        - appsearch
        - enterprise_search
      counts:
        description: Proxy allocation counts.
        "$ref": "#/definitions/ProxyAllocationCounts"
    description: The single proxy allocation for a specified type, such as Elasticsearch,
      Kibana, or APM.
  ProxyInfo:
    type: object
    required:
    - allocations
    - healthy
    - host_ip
    - metadata
    - proxy_id
    - public_hostname
    properties:
      proxy_id:
        type: string
        description: The proxy identifier
      runner_id:
        type: string
        description: Identifier of the runner for the proxy
      host_ip:
        type: string
        description: IP of the host the proxy runs on
      public_hostname:
        type: string
        description: Public hostname of the host the proxy runs on
      metadata:
        type: object
        description: Arbitrary metadata associated with the proxy
      healthy:
        type: boolean
        description: Specifies if the proxy is healthy
      zone:
        type: string
        description: The zone.
      allocations:
        type: array
        description: Allocation information by type.
        items:
          "$ref": "#/definitions/ProxyAllocationInfo"
    description: Information about a proxy.
  ProxyOverview:
    type: object
    required:
    - proxies
    - proxies_count
    - settings
    properties:
      proxies_count:
        type: integer
        format: int32
        description: Number of proxies
      settings:
        description: Settings
        "$ref": "#/definitions/ProxiesSettings"
      proxies:
        type: array
        description: Proxies
        items:
          "$ref": "#/definitions/ProxyInfo"
    description: Information about all of the proxies.
  ProxySummary:
    type: object
    required:
    - healthy
    - proxy_id
    properties:
      proxy_id:
        type: string
        description: The proxy identifier
      healthy:
        type: boolean
        description: Whether this proxy is healthy
    description: Summarized information about a proxy.
  PublicCertChain:
    type: object
    required:
    - chain
    properties:
      chain:
        type: array
        description: The list of PEM encoded X509 certificates that make up the certificate
          chain
        items:
          type: string
    description: 'The public portion of the certificate chain that contains the PEM
      encoded server certificate, intermediate certificates, and the CA certificate.
      NOTE: The private key, normally included in certificate chains, is omitted.'
  PublicCertChainCollection:
    type: object
    required:
    - certs
    properties:
      certs:
        type: object
        description: The map of extra certificate ids to their public certificate
          chains
        additionalProperties:
          "$ref": "#/definitions/PublicCertChain"
    description: Collections of public certificate chains for all the defined extra
      certificates
  PublicCertificate:
    type: object
    required:
    - active
    - metadata
    - pem
    properties:
      active:
        type: boolean
        description: If true, this certificate is the one which has been used to sign
          the current certificates. Otherwise, it may be the one that will be used
          when this certificate expires.
      pem:
        type: string
        description: The public certificate as string in PEM format.
      metadata:
        description: Metadata about the certificate, including fingerprint and expiry
          date. Generated by the Cloud service and ignored on write.
        "$ref": "#/definitions/CertificateMetaData"
    description: A certificate used to sign the certificates of this deployment
  QueryContainer:
    type: object
    properties:
      match:
        type: object
        additionalProperties:
          "$ref": "#/definitions/MatchQuery"
      match_all:
        "$ref": "#/definitions/MatchAllQuery"
      match_none:
        "$ref": "#/definitions/MatchNoneQuery"
      term:
        type: object
        additionalProperties:
          "$ref": "#/definitions/TermQuery"
      bool:
        "$ref": "#/definitions/BoolQuery"
      query_string:
        "$ref": "#/definitions/QueryStringQuery"
      nested:
        "$ref": "#/definitions/NestedQuery"
      prefix:
        type: object
        additionalProperties:
          "$ref": "#/definitions/PrefixQuery"
      exists:
        "$ref": "#/definitions/ExistsQuery"
      range:
        type: object
        additionalProperties:
          "$ref": "#/definitions/RangeQuery"
      simple_query_string:
        "$ref": "#/definitions/SimpleQueryStringQuery"
    description: The container for all of the allowed Elasticsearch queries. Specify
      only one property each time.
  QueryStringQuery:
    type: object
    required:
    - query
    properties:
      query:
        type: string
        description: The actual query to be parsed.
      default_field:
        type: string
        description: The default field for query terms if no prefix field is specified.
      analyzer:
        type: string
        description: The analyzer used to analyze each term of the query when creating
          composite queries.
      default_operator:
        type: string
        description: The default operator used if no explicit operator is specified.
      allow_leading_wildcard:
        type: boolean
        description: When set, * or ? are allowed as the first character. Defaults
          to false.
    description: A query that uses the strict query string syntax for parsing. Will
      return an error for invalid syntax.
  RangeQuery:
    type: object
    properties:
      gt:
        type: object
        description: Greater-than
      gte:
        type: object
        description: Greater-than or equal to
      lt:
        type: object
        description: Less-than
      lte:
        type: object
        description: Less-than or equal to.
      boost:
        type: number
        format: float
        description: An optional boost value to apply to the query.
      format:
        type: string
        description: Formatted dates will be parsed using the format specified on
          the date field by default, but it can be overridden by passing the format
          parameter.
      time_zone:
        type: string
        description: Dates can be converted from another timezone to UTC either by
          specifying the time zone in the date value itself (if the format accepts
          it), or it can be specified as the time_zone parameter.
    description: The query that matches documents with fields that contain terms within
      a specified range.
  ReadOnlyRequest:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Enabled or disabled read-only mode
    description: Read-only mode request payload
  ReadOnlyResponse:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Whether read-only mode is enabled or disabled
    description: Read-only mode response
  RegionInfo:
    type: object
    required:
    - allocators
    - constructors
    - container_sets_status
    - coordinators
    - proxies
    - region_id
    - resources
    - runners
    - zookeeper_states
    properties:
      region_id:
        type: string
        description: Identifier of this region
      zookeeper_states:
        description: Information about the Zookeeper state
        "$ref": "#/definitions/ZookeeperSummary"
      allocators:
        description: Information about allocators
        "$ref": "#/definitions/AllocatorsSummary"
      runners:
        description: Information about runners
        "$ref": "#/definitions/RunnersSummary"
      proxies:
        description: Information about proxies
        "$ref": "#/definitions/ProxiesSummary"
      container_sets_status:
        description: Information about container sets
        "$ref": "#/definitions/ContainerSetsSummary"
      constructors:
        description: Information about constructors
        "$ref": "#/definitions/ConstructorOverview"
      coordinators:
        description: Information about coordinators
        "$ref": "#/definitions/CoordinatorsSummary"
      resources:
        description: Information about resources
        "$ref": "#/definitions/PlatformResourcesSummary"
    description: Information about a region.
  RemoteResourceInfo:
    type: object
    required:
    - compatible
    - connected
    - healthy
    - trusted
    - trusted_back
    properties:
      healthy:
        type: boolean
        description: Whether or not the remote cluster is healthy
      connected:
        type: boolean
        description: Whether or not there is at least one connection to the remote
          cluster.
      compatible:
        type: boolean
        description: Whether or not the remote cluster version is compatible with
          this cluster version.
      trusted:
        type: boolean
        description: Whether or not the remote cluster is trusted by this cluster.
      trusted_back:
        type: boolean
        description: Whether or not the remote cluster trusts this cluster back.
    description: Information about a Remote Cluster.
  RemoteResourceRef:
    type: object
    required:
    - alias
    - deployment_id
    - elasticsearch_ref_id
    properties:
      deployment_id:
        type: string
        description: The id of the deployment
      elasticsearch_ref_id:
        type: string
        description: The locally-unique user-specified id of an Elasticsearch Resource
      alias:
        type: string
        description: The alias for this remote cluster. Aliases must only contain
          letters, digits, dashes and underscores
      skip_unavailable:
        type: boolean
        description: 'If true, skip this cluster during search if it is disconnected.
          Default: false'
      info:
        description: Information about a Remote Cluster.
        readOnly: true
        "$ref": "#/definitions/RemoteResourceInfo"
    description: The Elasticsearch resource used as a Remote Cluster.
  RemoteResources:
    type: object
    required:
    - resources
    properties:
      resources:
        type: array
        description: The remote resources
        items:
          "$ref": "#/definitions/RemoteResourceRef"
    description: The list of resources used as remote clusters
  ReplyWarning:
    type: object
    required:
    - code
    properties:
      code:
        type: string
        description: A structured code representing the error type that occurred
      message:
        type: string
        description: A human readable message describing the warning that occurred
  RepositoryConfig:
    type: object
    required:
    - config
    - repository_name
    properties:
      repository_name:
        type: string
        description: Elasticsearch snapshot repository name
      config:
        type: object
        description: Elasticsearch configuration JSON for a snapshot repository
    description: The snapshot repository configuration.
  RepositoryConfigs:
    type: object
    required:
    - configs
    properties:
      configs:
        type: array
        description: List of snapshot configurations
        items:
          "$ref": "#/definitions/RepositoryConfig"
    description: A list of snapshot repository configurations.
  RequestEnrollmentTokenReply:
    type: object
    required:
    - token
    properties:
      token:
        type: string
        description: The requested token
      token_id:
        type: string
        description: An identifier for the requested token (if persistent) that can
          be used in listing and deletion
    description: Returns the enrollment token that is used to securely start a new
      server with designated roles.
  ResourceHeapDumps:
    type: object
    required:
    - heap_dumps
    - id
    - ref_id
    properties:
      ref_id:
        type: string
        description: The locally-unique user-specified id of the resource that the
          heap dump was captured from
      id:
        type: string
        description: The randomly-generated id of a Resource
      heap_dumps:
        type: array
        description: The heap dumps belonging to this resource
        items:
          "$ref": "#/definitions/HeapDump"
  RestartPolicy:
    type: object
    required:
    - name
    properties:
      name:
        type: string
        description: Identifier for the policy.
      maximum_retry_count:
        type: integer
        format: int32
        description: Maximum number of times to re-try before giving up
    description: A policy that is applied when a container unexpectedly exits
  RestoreSnapshotApiConfiguration:
    type: object
    properties:
      indices:
        type: array
        description: The list of indices to restore (supports +ve and -ve selection
          and wildcarding - see the default Elasticsearch index format documentation)
        items:
          type: string
      raw_settings:
        type: object
        description: This JSON object (merged with the 'indices' field (if present)
          is passed untouched into the restore command - see the Elasticsearch '_snapshot'
          documentation for more details on supported formats
    description: The configuration for the restore command, such as which indices
      you want to restore.
  RestoreSnapshotConfiguration:
    type: object
    required:
    - snapshot_name
    properties:
      repository_name:
        type: string
        description: If specified, contains the name of the snapshot repository -
          else will default to the Elastic Cloud system repo ('found-snapshots')
      snapshot_name:
        type: string
        description: The name of the snapshot to restore. Use '\_\_latest_success\_\_'
          to get the most recent snapshot from the specified repository
      repository_config:
        description: Raw remote snapshot restore settings. Do not send this if you
          are sending source_cluster_id
        "$ref": "#/definitions/RestoreSnapshotRepoConfiguration"
      restore_payload:
        "$ref": "#/definitions/RestoreSnapshotApiConfiguration"
      strategy:
        type: string
        description: The restore strategy to use. Defaults to a full restore. Partial
          restore will attempt to restore unavailable indices only
        enum:
        - partial
        - full
        - recovery
      source_cluster_id:
        type: string
        description: If specified, contains the name of the source cluster id. Do
          not send this if you are sending repository_config
    description: Restores a snapshot from a local or remote repository.
  RestoreSnapshotRepoConfiguration:
    type: object
    properties:
      raw_settings:
        type: object
        description: The remote snapshot settings raw JSON - see the Elasticsearch
          '_snapshot' documentation for more details on supported formats
    description: Configures the location of a remote repository. The default is the
      system repository.
  Role:
    type: object
    required:
    - auto_blessed
    - containers
    - id
    properties:
      id:
        type: string
        example: constructor
        description: The unique id of this role
      auto_blessed:
        type: boolean
        description: Whether runners are automatically allowed to be assigned the
          containers of this role.
      containers:
        type: array
        description: The containers that are part of this role
        items:
          "$ref": "#/definitions/ContainersEntry"
    description: Describes whether certain runners are blessed to run a Role.
  RoleAggregate:
    type: object
    required:
    - id
    - role
    properties:
      id:
        type: string
        example: constructor
        description: The unique id of this role
      role:
        description: The role data with metadata
        "$ref": "#/definitions/RoleWithMeta"
      blessings:
        description: The blessings data associated with the role
        "$ref": "#/definitions/BlessingsWithMeta"
      pending:
        description: The pending states data associated with the role
        "$ref": "#/definitions/PendingStatesWithMeta"
    description: Describes whether certain runners are blessed to run a Role.
  RoleAggregateCreateData:
    type: object
    required:
    - role
    properties:
      role:
        description: The role data
        "$ref": "#/definitions/Role"
      blessings:
        description: The blessings data associated with the role
        "$ref": "#/definitions/Blessings"
    description: Creation data for a role
  RoleAggregates:
    type: object
    required:
    - values
    properties:
      values:
        type: array
        description: The list
        items:
          "$ref": "#/definitions/RoleAggregate"
    description: A list of Role aggregates
  RoleAssignments:
    type: object
    properties:
      platform:
        type: array
        description: Assignments for roles with platform scope.
        items:
          "$ref": "#/definitions/PlatformRoleAssignment"
      organization:
        type: array
        description: Assignments for roles with organization scope.
        items:
          "$ref": "#/definitions/OrganizationRoleAssignment"
      deployment:
        type: array
        description: Assignments for roles with deployment scope.
        items:
          "$ref": "#/definitions/DeploymentRoleAssignment"
      project:
        description: Assignments for roles with project scope.
        "$ref": "#/definitions/ProjectRoleAssignments"
    description: Roles assigned to users, API keys or organization invitations. Currently
      unavailable in self-hosted ECE.
  RoleWithMeta:
    type: object
    required:
    - meta
    - value
    properties:
      value:
        description: The pending stages
        "$ref": "#/definitions/Role"
      meta:
        description: The metadata
        "$ref": "#/definitions/Metadata"
    description: Persisted role along with metadata
  RollingGrowShrinkStrategyConfig:
    type: object
    description: A strategy that creates new Elasticsearch instances, Kibana instances,
      and APM Servers with the new plan, then migrates the node data to minimize the
      amount of spare capacity.
  RollingStrategyConfig:
    type: object
    properties:
      group_by:
        type: string
        description: Specifies the grouping attribute to use when rolling several
          instances. Instances that share the same value for the provided attribute
          key are rolled together as a unit. Examples that make sense to use are '\_\_all\_\_'
          (roll all instances as a single unit), 'logical_zone_name' (roll instances
          by zone), '\_\_name\_\_' (roll one instance at a time, the default if not
          specified). Note that '\_\_all\_\_' is required when performing a major
          version upgrade
      allow_inline_resize:
        type: boolean
        description: 'Whether we allow changing the capacity of instances (default
          false). This is currently implemented by stopping, re-creating then starting
          the affected instance on its associated allocator when performing the changes.
          NOTES: This requires a round-trip through the allocation infrastructure
          of the active constructor, as it has to reserve the target capacity without
          over-committing'
      skip_synced_flush:
        type: boolean
        description: 'Whether to skip attempting to do a synced flush on the filesystem
          of the container (default: false), which is less safe but may be required
          if the container is unhealthy'
      shard_init_wait_time:
        type: integer
        format: int64
        description: 'The time, in seconds, to wait for shards that show no progress
          of initializing before rolling the next group (default: 10 minutes)'
    description: 'Performs inline, rolling configuration changes that mutate existing
      containers. TIP: This is the fastest way to update a plan, but can fail for
      complex plan changes, such as topology changes. Also, this is less safe for
      configuration changes that leave a cluster in a non running state. NOTE: When
      you perform a major version upgrade, and ''group_by'' is set to ''pass:macros[__all__]'';,
      rolling is required.'
  RulesetAssociations:
    type: object
    required:
    - associations
    - total_associations
    properties:
      associations:
        type: array
        description: List of associations
        items:
          "$ref": "#/definitions/FilterAssociation"
      total_associations:
        type: integer
        format: int32
        description: Total number of associations. This includes associations the
          user does not have permission to view.
    description: The configuration settings for the traffic filter.
  RunnerBuildInfo:
    type: object
    properties:
      commit_hash:
        type: string
        description: Git commit hash
      version:
        type: string
        description: Version of the runner artifact
  RunnerContainerInfo:
    type: object
    required:
    - container_name
    - container_set_name
    properties:
      container_name:
        type: string
        description: Name of this container
      container_set_name:
        type: string
        description: Name of the container set for the container
    description: Information about a container within a runner.
  RunnerHealthChecks:
    type: object
    required:
    - has_containers
    - is_connected_to_zk
    - is_docker_healthy
    properties:
      is_docker_healthy:
        type: boolean
        description: Check performed by the runner to figure out if docker is healthy
      is_connected_to_zk:
        type: boolean
        description: Whether the runner is connected to zk or not
      has_containers:
        type: boolean
        description: Whether the runner has containers that it manages
    description: The checks performed to determine if an runner is healthy or not.
  RunnerInfo:
    type: object
    required:
    - connected
    - containers
    - healthy
    - host_ip
    - public_hostname
    - roles
    - runner_id
    properties:
      runner_id:
        type: string
        description: The runner identifier
      runner_name:
        type: string
        description: The runner name
      zone:
        type: string
        description: Identifier of the zone
      tags:
        type: object
        description: Meta data of the runner, like image ID or processor architecture
        additionalProperties:
          type: string
      features:
        type: object
        description: State of features of the runner
        additionalProperties:
          type: boolean
      build_info:
        description: Build Info of the container artifact
        "$ref": "#/definitions/RunnerBuildInfo"
      host_ip:
        type: string
        description: Host IP for the runner
      public_hostname:
        type: string
        description: Public hostname for the runner
      containers:
        type: array
        description: Containers for the runner
        items:
          "$ref": "#/definitions/RunnerContainerInfo"
      roles:
        type: array
        description: Roles for the runner
        items:
          "$ref": "#/definitions/RunnerRoleInfo"
      connected:
        type: boolean
        description: Specifies if the runner is connected
      healthy:
        type: boolean
        description: Specifies if the runner is healthy
      health_checks:
        description: Checks used to determine if a runner is healthy or not
        "$ref": "#/definitions/RunnerHealthChecks"
      region:
        type: string
        description: The region that this runner belongs to. Only populated in SaaS
          or federated ECE.
    description: Information about a specified runner.
  RunnerOverview:
    type: object
    required:
    - runners
    properties:
      runners:
        type: array
        description: List of runners
        items:
          "$ref": "#/definitions/RunnerInfo"
    description: Information about all of the runners.
  RunnerRoleInfo:
    type: object
    required:
    - role_name
    properties:
      role_name:
        type: string
        description: Name of the role
    description: Information about a runner role.
  RunnerRolesInfo:
    type: object
    required:
    - roles
    properties:
      roles:
        type: array
        description: List of roles
        items:
          "$ref": "#/definitions/RunnerRoleInfo"
    description: A list of runner roles.
  RunnersSummary:
    type: object
    required:
    - connected_capacity
    - connected_runners
    - containers_count
    - healthy
    - healthy_runners
    - max_available_capacity
    - total_runners
    properties:
      healthy:
        type: boolean
        description: Whether all runners are healthy
      total_runners:
        type: integer
        format: int32
        description: Total number of runners
      healthy_runners:
        type: integer
        format: int32
        description: Number of healthy runners
      connected_runners:
        type: integer
        format: int32
        description: Number of connected runners
      connected_capacity:
        type: integer
        format: int32
        description: Total capacity of connected runners in megabytes
      max_available_capacity:
        type: integer
        format: int32
        description: Maximum capacity available in one runner in megabytes
      containers_count:
        type: integer
        format: int32
        description: Total number of containers
    description: Summarized information about the runners.
  SamlAttributeSettings:
    type: object
    required:
    - groups
    - principal
    properties:
      principal:
        type: string
        description: The name of the SAML attribute that contains the user's principal
          (username). This name should map to a value that does not contain commas
          or slashes.
      groups:
        type: string
        description: The name of the SAML attribute that contains the user's groups
      name:
        type: string
        description: The name of the SAML attribute that contains the user's full
          name
      mail:
        type: string
        description: The name of the SAML attribute that contains the user's email
          address
      dn:
        type: string
        description: The name of the SAML attribute that contains the user's X.50
          Distinguished Name
    description: The mapping configuration for the Elasticsearch security SAML attribute.
  SamlIdpSettings:
    type: object
    required:
    - entity_id
    - metadata_path
    properties:
      entity_id:
        type: string
        description: The Entity ID of the SAML Identity Provider. An Entity ID is
          a URI with a maximum length of 1024 characters. It can be a URL or a URN
          and can be found in the configuration or the SAML metadata of the Identity
          Provider.
      metadata_path:
        type: string
        description: The URL to a SAML 2.0 metadata file describing the capabilities
          and configuration of the Identity Provider
      use_single_logout:
        type: boolean
        description: Indicates whether to utilise the Identity Provider's Single Logout
          service
    description: The configuration for the Elasticsearch security SAML Identity Provider.
  SamlSecurityRealmRoleMappingRule:
    type: object
    required:
    - roles
    - type
    - value
    properties:
      type:
        type: string
        description: The type of role mapping rule
        enum:
        - username
        - groups
        - dn
      roles:
        type: array
        description: The roles that are applied when the mapping rule is successfully
          evaluated
        items:
          type: string
      value:
        type: string
        description: The value to match when evaluating this rule
    description: The mapping rule for the Elasticsearch security SAML role.
  SamlSecurityRealmRoleMappingRules:
    type: object
    required:
    - default_roles
    - rules
    properties:
      default_roles:
        type: array
        description: The default roles applied to all users
        items:
          type: string
      rules:
        type: array
        description: The role mapping rules to evaluate
        items:
          "$ref": "#/definitions/SamlSecurityRealmRoleMappingRule"
    description: The mapping ruleset for the Elasticsearch security SAML role.
  SamlSettings:
    type: object
    required:
    - attributes
    - id
    - idp
    - name
    - sp
    properties:
      id:
        type: string
        description: The identifier for the security realm
      name:
        type: string
        description: The friendly name of the security realm
      idp:
        description: The SAML Identity Provider configuration
        "$ref": "#/definitions/SamlIdpSettings"
      sp:
        description: The SAML Service Provider configuration
        "$ref": "#/definitions/SamlSpSettings"
      attributes:
        description: The SAML attribute mapping configuration
        "$ref": "#/definitions/SamlAttributeSettings"
      nameid_format:
        type: string
        description: 'The NameID format. If not specified the IdP default is used.
          Example: ''urn:oasis:names:tc:SAML:2.0:nameid-format:persistent'''
      role_mappings:
        description: The role mapping rules associated with the security realm
        "$ref": "#/definitions/SamlSecurityRealmRoleMappingRules"
      enabled:
        type: boolean
        description: When true, enables the security realm
      order:
        type: integer
        format: int32
        description: The order that the security realm is evaluated
      force_authn:
        type: boolean
        description: Specifies whether to set the ForceAuthn attribute when requesting
          that the IdP authenticate the current user. If set to true, the IdP is required
          to verify the user's identity, irrespective of any existing sessions they
          might have.
      signing_certificate_url:
        type: string
        description: The SAML signing certificate bundle URL. The bundle should be
          a zip file containing 'signing.key' and 'signing.pem' files in the directory
          '/saml/:id', where :id is the value of the [id] field.
      signing_certificate_url_password:
        type: string
        description: The password to the signing certificate bundle
      signing_saml_messages:
        type: array
        description: A list of SAML message types that should be signed. Each element
          in the list should be the local name of a SAML XML Element. Supported element
          types are AuthnRequest, LogoutRequest and LogoutResponse. Only valid if
          a signing certificate is also specified.
        items:
          type: string
      encryption_certificate_url:
        type: string
        description: The SAML encryption certificate bundle URL. The bundle should
          be a zip file containing 'encryption.key' and 'encryption.pem' files in
          the directory '/saml/:id', where :id is the value of the [id] field.
      encryption_certificate_url_password:
        type: string
        description: The password to the encryption certificate bundle
      ssl_certificate_url:
        type: string
        description: 'The SSL trusted CA certificate bundle URL. The bundle should
          be a zip file containing a single keystore file ''keystore.ks'' Note that
          all keys should omit the ''xpack.security.authc.realms.saml.{realm_id}''
          prefix. For example, when the realm ID is set to ''saml1'', the advanced
          configuration ''xpack.security.authc.realms.saml.saml1.ssl.verification_mode:
          full'' should be added as ''ssl.verification_mode: full''.'
      ssl_certificate_url_truststore_password:
        type: string
        description: The password to the SSL certificate bundle URL truststore
      ssl_certificate_url_truststore_type:
        type: string
        description: The format of the keystore file. Should be jks to use the Java
          Keystore format or PKCS12 to use PKCS#12 files. The default is jks.
        enum:
        - jks
        - PKCS12
      override_yaml:
        type: string
        description: Advanced configuration options in YAML format. Any settings defined
          here will override any configuration set via the API. Note that all keys
          should omit 'xpack.security.authc.realms.{realm_type}.{realm_id}'.
    description: The configuration for the Elasticsearch security SAML realm.
  SamlSpSettings:
    type: object
    required:
    - acs
    - entity_id
    - logout
    properties:
      entity_id:
        type: string
        description: The Entity ID to use for this SAML Service Provider. This should
          be entered as a URI.
      acs:
        type: string
        description: The URL of the Assertion Consumer service
      logout:
        type: string
        description: The URL of the Single Logout service
    description: The configuration for the Elasticsearch security SAML Service Provider.
  SearchRequest:
    type: object
    properties:
      from:
        type: integer
        format: int32
        description: Deprecated, use cursor for a more scalable approach to paging.
      cursor:
        type: string
        description: To retrieve the next page of hits, set this to the cursor value
          of the previous response. When set, all other fields are ignored.
      size:
        type: integer
        format: int32
        description: The maximum number of search results to return.
      query:
        "$ref": "#/definitions/QueryContainer"
      sort:
        type: array
        description: An array of fields to sort the search results by. Defaults to
          query rank and last modified date descending.
        items:
          type: object
    description: An Elasticsearch search request with a subset of options.
  SecurityDeployment:
    type: object
    required:
    - cluster_id
    - has_pending_plan
    - is_enabled
    - is_healthy
    - name
    - status
    properties:
      cluster_id:
        type: string
        description: The identifier for the security deployment cluster
      deployment_id:
        type: string
        description: The identifier for the security deployment
      name:
        type: string
        description: The name of the security deployment cluster
      version:
        type: string
        description: The version of the Elasticsearch cluster
      status:
        type: string
        description: The current status of the cluster
        enum:
        - initializing
        - stopping
        - stopped
        - rebooting
        - restarting
        - reconfiguring
        - started
      has_pending_plan:
        type: boolean
        description: True if a pending plan is in progress
      is_healthy:
        type: boolean
        description: True if the cluster is healthy
      is_enabled:
        type: boolean
        description: True if the security cluster is currently enabled
    description: The Elasticsearch security deployment.
  SecurityDeploymentCreateRequest:
    type: object
    properties:
      name:
        type: string
        description: The name of the security deployment cluster
      version:
        type: string
        description: The version of the Elasticsearch cluster
      topology:
        description: The cluster topology used to create the security deployment cluster
        "$ref": "#/definitions/SecurityDeploymentTopology"
    description: The creation request for the Elasticsearch security deployment.
  SecurityDeploymentTopology:
    type: object
    properties:
      size:
        description: The security deployment topology size
        "$ref": "#/definitions/TopologySize"
      zone_count:
        type: integer
        format: int32
        description: The number of zones in which data nodes will be placed
    description: The cluster topology for the Elasticsearch security deployment.
  SecurityDeploymentUpdateRequest:
    type: object
    properties:
      version:
        type: string
        description: The version of Elasticsearch to upgrade to. When not included,
          no upgrade is performed.
      topology:
        description: The cluster topology changes to apply to the security deployment
          cluster. When not included, no topology changes are performed.
        "$ref": "#/definitions/SecurityDeploymentTopology"
    description: The update request for the Elasticsearch security deployment.
  SecurityRealmInfo:
    type: object
    required:
    - id
    - name
    - type
    - urls
    properties:
      id:
        type: string
        description: The identifier for the security realm
      name:
        type: string
        description: The friendly name of the security realm
      type:
        type: string
        description: The type of the security realm
        enum:
        - native
        - ldap
        - saml
        - active_directory
      enabled:
        type: boolean
        description: True if the security realm is enabled
      order:
        type: integer
        format: int32
        description: The order the security realm should be evaluated
      urls:
        type: array
        description: The URLs associated with the security realm
        items:
          type: string
    description: The overview for the Elasticsearch security realm.
  SecurityRealmInfoList:
    type: object
    required:
    - realms
    properties:
      realms:
        type: array
        description: The list of security realms
        items:
          "$ref": "#/definitions/SecurityRealmInfo"
    description: A list of Elasticsearch security realms.
  SecurityRealmsReorderRequest:
    type: object
    required:
    - realms
    properties:
      realms:
        type: array
        description: The list of security realms in the desired order
        items:
          type: string
    description: A reorder request for Elasticsearch security realms.
  ServiceUrl:
    type: object
    required:
    - service
    - url
    properties:
      service:
        type: string
        description: Name of the service
      url:
        type: string
        description: The full URL to access the service
    description: A URL to access the service of a resource
  SimpleQueryStringQuery:
    type: object
    required:
    - query
    properties:
      query:
        type: string
        description: The query expressed in simple query string syntax.
      fields:
        type: array
        description: Array of fields to search
        items:
          type: string
      default_operator:
        type: string
        description: The boolean operator used to combine the terms of the query.
          Valid values are `OR` (default) and `AND`.
      analyze_wildcard:
        type: boolean
        description: If `true`, the query attempts to analyze wildcard terms. Defaults
          to `false`.
      analyzer:
        type: string
        description: The name of the analyzer to use to convert the query text into
          tokens.
      auto_generate_synonyms_phrase_query:
        type: boolean
        description: If `true`, the parse creates a `match_phrase` uery for each multi-position
          token. Defaults to `true`.
      flags:
        type: string
        description: List of enabled operators for the simple query string syntax.
          Defaults to `ALL`.
      fuzzy_max_expansions:
        type: integer
        format: int32
        description: Maximum number of terms to which the query expands for fuzzy
          matching. Defaults to 50.
      fuzzy_prefix_length:
        type: integer
        format: int32
        description: Number of beginning characters left unchanged for fuzzy matching.
          Defaults to 0.
      fuzzy_transpositions:
        type: boolean
        description: If `true`, edits for fuzzy matching include transpositions of
          two adjacent characters. Defaults to `false`.
      lenient:
        type: boolean
        description: If `true`, format-based errors, such as providing a text value
          for a numeric field are ignored. Defaults to `false`.
      minimum_should_match:
        type: string
        description: Minimum number of clauses that must match for a document to be
          returned.
      quote_field_suffix:
        type: string
        description: Suffix appended to quoted text in the query string.
    description: A query that uses simple query string syntax. Will ignore invalid
      syntax.
  SimplifiedLineItem:
    type: object
    required:
    - ecu_balance
    - ecu_quantity
    - end
    - id
    - start
    properties:
      id:
        type: string
        description: Line Item ID
      ecu_quantity:
        type: number
        format: double
        description: Original Elastic Consumption Unit (ECU) quantity
      ecu_balance:
        type: number
        format: double
        description: Elastic Consumption Unit (ECU) Balance
      start:
        type: string
        format: date-time
        description: Start of the line item's validity
      end:
        type: string
        format: date-time
        description: Expiration of the line item
    description: Line Item
  SnapshotRepositoryConfiguration:
    type: object
    required:
    - settings
    - type
    properties:
      type:
        type: string
        description: 'Repository type, (Currently supported: ''s3'')'
      settings:
        type: object
        description: Elasticsearch repository configuration settings JSON. See [Elasticsearch
          documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)
          for more information
    description: The configuration for an Elasticsearch snapshot repository.
  SnapshotStatusInfo:
    type: object
    required:
    - count
    - healthy
    - recent_success
    properties:
      healthy:
        type: boolean
        description: Health status of snapshots for this cluster
      count:
        type: integer
        format: int32
        description: Number of snapshots stored for this cluster
      latest_successful:
        type: boolean
        description: Latest snapshot status
      latest_status:
        type: string
        description: Status of the latest snapshot attempt, if any exist.
      scheduled_time:
        type: string
        format: date-time
        description: Scheduled time of next snapshot attempt
      latest_end_time:
        type: string
        format: date-time
        description: The end time of the most recently attempted snapshot
      latest_successful_end_time:
        type: string
        format: date-time
        description: The end time of the most recently successful snapshot
      recent_success:
        type: boolean
        description: Indicates whether the cluster has a relatively recent successful
          snapshot.
    description: Information about the snapshot status for the Elasticsearch cluster.
      For example, the health status.
  SsoAuthenticationMethodInfo:
    type: object
    required:
    - name
    - sso_type
    - url
    properties:
      sso_type:
        type: string
        description: Indicates the protocol of the single sign-on method.
        enum:
        - saml
      name:
        type: string
        description: The friendly name of the single sign-on method.
      url:
        type: string
        description: The URL to initiate the single sign-on login.
    description: 'Specifies the authentication methods that are enabled on the Elasticsearch
      cluster. NOTE: When all fields are `false`, only the Platform admin and Platform
      viewer are available.'
  StackVersionApmConfig:
    type: object
    required:
    - blacklist
    - docker_image
    properties:
      version:
        type: string
        description: Version of APM
      docker_image:
        type: string
        description: Docker image for the APM
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
    description: The APM Server configuration for an Elastic Stack version.
  StackVersionAppSearchConfig:
    type: object
    required:
    - blacklist
    - docker_image
    properties:
      version:
        type: string
        description: Version of AppSearch
      docker_image:
        type: string
        description: Docker image for the AppSearch
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
      node_types:
        type: array
        description: Node types that are supported by this stack version
        items:
          "$ref": "#/definitions/StackVersionNodeType"
    description: AppSearch related configuration of an Elastic Stack version
  StackVersionArchiveProcessingError:
    type: object
    required:
    - errors
    - stack_version
    properties:
      stack_version:
        type: string
        description: Version of the stack (ie directory name in archive root)
      errors:
        "$ref": "#/definitions/BasicFailedReply"
    description: Information about the errors that occurred from processing an Elastic
      Stack version.
  StackVersionArchiveProcessingResult:
    type: object
    required:
    - errors
    - stacks
    properties:
      stacks:
        type: array
        items:
          "$ref": "#/definitions/StackVersionConfig"
      errors:
        type: array
        description: 'Errors occurred while processing the Elastic Stack pack. Key:
          stack version, Value: List of errors'
        items:
          "$ref": "#/definitions/StackVersionArchiveProcessingError"
    description: The result from processing an archive of an Elastic Stack version.
  StackVersionConfig:
    type: object
    required:
    - elasticsearch
    - kibana
    - template
    - upgradable_to
    properties:
      version:
        type: string
        description: Stack version
        readOnly: true
      template:
        "$ref": "#/definitions/StackVersionTemplateInfo"
      elasticsearch:
        "$ref": "#/definitions/StackVersionElasticsearchConfig"
      kibana:
        "$ref": "#/definitions/StackVersionKibanaConfig"
      apm:
        "$ref": "#/definitions/StackVersionApmConfig"
      appsearch:
        "$ref": "#/definitions/StackVersionAppSearchConfig"
      enterprise_search:
        "$ref": "#/definitions/StackVersionEnterpriseSearchConfig"
      metadata:
        "$ref": "#/definitions/StackVersionMetadata"
      deleted:
        type: boolean
        description: Identifies that the Elastic Stack version is marked for deletion
        readOnly: true
      upgradable_to:
        type: array
        description: Stack Versions that this version can upgrade to
        items:
          type: string
      min_upgradable_from:
        type: string
        example: 6.7.0
        description: The minimum version recommended to upgrade this version.
      whitelisted:
        type: boolean
        description: Whether or not this version is whitelisted. This is only relevant
          in EC (SaaS) and is not sent in ECE.
      accessible:
        type: boolean
        description: Whether or not this version is accessible by the calling user.
          This is only relevant in EC (SaaS) and is not sent in ECE.
      rolling_upgrade_compatible_versions:
        type: array
        description: List of versions that can be upgraded to the current version
          of the stackpack
        items:
          type: string
    description: The details for an Elastic Stack configuration.
  StackVersionConfigPost:
    type: object
    required:
    - elasticsearch
    - kibana
    properties:
      elasticsearch:
        "$ref": "#/definitions/StackVersionElasticsearchConfig"
      kibana:
        "$ref": "#/definitions/StackVersionKibanaConfig"
      apm:
        "$ref": "#/definitions/StackVersionApmConfig"
      integrations_server:
        "$ref": "#/definitions/StackVersionIntegrationsServerConfig"
      appsearch:
        "$ref": "#/definitions/StackVersionAppSearchConfig"
      enterprise_search:
        "$ref": "#/definitions/StackVersionEnterpriseSearchConfig"
      metadata:
        "$ref": "#/definitions/StackVersionMetadata"
      rolling_upgrade_compatible_versions:
        type: array
        description: List of versions that can be upgraded to the current version
          of the stackpack
        items:
          type: string
    description: The configuration for an Elastic Stack version.
  StackVersionConfigs:
    type: object
    required:
    - stacks
    properties:
      stacks:
        type: array
        items:
          "$ref": "#/definitions/StackVersionConfig"
    description: The details for multiple Elastic Stack configurations.
  StackVersionElasticsearchConfig:
    type: object
    required:
    - blacklist
    - default_plugins
    - docker_image
    - plugins
    properties:
      docker_image:
        type: string
        description: Docker image for the Elasticsearch
      plugins:
        type: array
        description: List of available plugins
        items:
          type: string
      default_plugins:
        type: array
        description: List of default plugins
        items:
          type: string
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      node_types:
        type: array
        description: Node types that are supported by this stack version
        items:
          "$ref": "#/definitions/StackVersionNodeType"
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
    description: 'The Elasticsearch configuration for an Elastic Stack version. '
  StackVersionEnterpriseSearchConfig:
    type: object
    required:
    - blacklist
    - docker_image
    properties:
      version:
        type: string
        description: Version of EnterpriseSearch
      docker_image:
        type: string
        description: Docker image for the EnterpriseSearch
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
      node_types:
        type: array
        description: Node types that are supported by this stack version
        items:
          "$ref": "#/definitions/StackVersionNodeType"
    description: EnterpriseSearch related configuration of an Elastic Stack version
  StackVersionInstanceCapacityConstraint:
    type: object
    required:
    - max
    - min
    properties:
      min:
        type: integer
        format: int32
        description: Min capacity of the instances
      max:
        type: integer
        format: int32
        description: Max capacity of the instances
    description: The Elasticsearch instance, Kibana instance, APM Server capacity
      constraints for an Elastic Stack node type.
  StackVersionIntegrationsServerConfig:
    type: object
    required:
    - blacklist
    - docker_image
    properties:
      version:
        type: string
        description: Version of Integrations Server
      docker_image:
        type: string
        description: Docker image for the Integrations Server
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
    description: The Integrations Server configuration for an Elastic Stack version.
  StackVersionKibanaConfig:
    type: object
    required:
    - blacklist
    - docker_image
    properties:
      version:
        type: string
        description: Version of Kibana
      docker_image:
        type: string
        description: Docker image for the kibana
      blacklist:
        type: array
        description: List of configuration options that cannot be overridden by user
          settings
        items:
          type: string
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
    description: The Kibana configuration for an Elastic Stack version.
  StackVersionMetadata:
    type: object
    properties:
      notes:
        type: string
        description: Notes for administrator
      pre_release:
        type: boolean
        description: Indicates that the stack pack version is not GA and is not supposed
          to be used in production
      min_platform_version:
        type: string
        description: The minimum version of the platform that the stack pack version
          is compatible with
      min_wire_compatibility_version:
        type: string
        description: The minimum version required for performing a rolling upgrade
          to this stack version.
      min_index_compatibility_version:
        type: string
        description: The minimum version required for performing a full cluster restart
          upgrade to this stack version.
      schema_version:
        type: integer
        format: int32
        description: The schema version of the stack pack version
    description: The metadata for the Elastic Stack.
  StackVersionNodeType:
    type: object
    required:
    - description
    - name
    - node_type
    properties:
      node_type:
        type: string
        description: Type of the node (master, data, ...)
      name:
        type: string
        description: Name of the node type
      description:
        type: string
        description: Description of the node type
      settings:
        type: object
        description: Settings that are applied to all nodes of this type
      capacity_constraints:
        description: |-
          > WARNING
          > This endpoint is deprecated and scheduled to be removed in the next major version. This field will soon be removed in favor of having a global capacity constraint for all node types.

          Capacity constraints for the node type
        "$ref": "#/definitions/StackVersionInstanceCapacityConstraint"
      compatible_node_types:
        type: array
        description: Node types that are compatible with this one
        items:
          type: string
      mandatory:
        type: boolean
        description: Flag to specify a node type is mandatory in a cluster's plan
    description: The configuration for an Elastic Stack node type.
  StackVersionTemplateFileHash:
    type: object
    required:
    - hash
    - path
    properties:
      path:
        type: string
        description: File path relative to template's root
      hash:
        type: string
        description: SHA-256 hash of a file
    description: The template file hash for an Elastic Stack version.
  StackVersionTemplateInfo:
    type: object
    properties:
      template_version:
        type: string
        description: Template version
        readOnly: true
      hashes:
        type: array
        description: Relative paths of files with SHA-256 hashes that contains the
          template
        readOnly: true
        items:
          "$ref": "#/definitions/StackVersionTemplateFileHash"
    description: The template information for an Elastic Stack version.
  TargetElasticsearchCluster:
    type: object
    required:
    - elasticsearch_id
    properties:
      elasticsearch_id:
        type: string
        description: The Elasticsearch cluster Id
      links:
        type: object
        description: A map of application-specific operations (which map to 'operationId's
          in the Swagger API) to metadata about that operation
        additionalProperties:
          "$ref": "#/definitions/Hyperlink"
    description: Information about the specified Elasticsearch cluster.
  TelemetryConfig:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Whether ECE telemetry is enabled
    description: The current ECE telemetry configuration
  TelemetryConfigRequest:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Whether to enable ECE telemetry
    description: The desired ECE telemetry configuration
  TermQuery:
    type: object
    required:
    - value
    properties:
      value:
        type: string
        description: The exact value to query for.
    description: A query for documents that contain the specified term in the inverted
      index.
  TlsPublicCertChain:
    type: object
    required:
    - chain
    - user_supplied
    properties:
      user_supplied:
        type: boolean
        description: Was this certificate chain user supplied or automatically generated?
      chain:
        type: array
        description: The list of PEM encoded X509 certificates that make up the certificate
          chain
        items:
          type: string
      chain_status:
        description: Details on the validity and lifetime of the certification chain
        "$ref": "#/definitions/ChainStatus"
      api_managed:
        type: boolean
        description: Whether or not this certificate can be updated using the API
    description: 'The public portion of the certificate chain that contains the PEM
      encoded server certificate, intermediate certificates, and the CA certificate.
      NOTE: The private key, normally included in certificate chains, is omitted.'
  TokenResponse:
    type: object
    required:
    - session_expiration_time
    - token
    properties:
      token:
        type: string
        description: The authorization bearer token that you use in subsequent requests
      session_expiration_time:
        type: string
        format: date-time
        description: The time that the session token will expire
    description: The response value after a login without redirect configured, or
      after elevated permissions are enabled or disabled.
  TopologyElementControl:
    type: object
    required:
    - min
    properties:
      min:
        description: Absolute minimum size limit for a topology element created with
          a deployment template. If the value is 0, that means the topology element
          can be disabled.
        "$ref": "#/definitions/TopologySize"
    description: Controls for the topology element. Only used as part of the deployment
      template. Ignored if included as part of a deployment.
  TopologySize:
    type: object
    required:
    - resource
    - value
    properties:
      value:
        type: integer
        format: int32
        description: Amount of resource
      resource:
        type: string
        description: Type of resource. In ESS the resource used should always be `memory`.
        enum:
        - memory
        - storage
    description: Measured by the amount of a resource. The final cluster size is calculated
      using multipliers from the topology instance configuration.
  TrafficFilterClaimedLinkIdInfo:
    type: object
    required:
    - region
    properties:
      link_id:
        type: string
        description: Link id. A GCP private service connect ID or AWS VPC endpoint
          ID
      azure_endpoint_name:
        type: string
        description: Name of the Azure Private Endpoint to allow connections from
      azure_endpoint_guid:
        type: string
        description: Resource GUID of the Azure Private Endpoint to allow connections
          from
      region:
        type: string
        description: The claimed link id can be used only for traffic filter in the
          specific region
  TrafficFilterClaimedLinkIdRequest:
    type: object
    required:
    - region
    properties:
      link_id:
        type: string
        description: Link id. A GCP private service connect ID or AWS VPC endpoint
          ID
      azure_endpoint_name:
        type: string
        description: Name of the Azure Private Endpoint to allow connections from
      azure_endpoint_guid:
        type: string
        description: Resource GUID of the Azure Private Endpoint to allow connections
          from
      region:
        type: string
        description: The claimed link id can be used only for traffic filter in the
          specific region
    description: The specification for traffic filter claimed link id.
  TrafficFilterClaimedLinkIds:
    type: object
    required:
    - claimed_link_ids
    properties:
      claimed_link_ids:
        type: array
        description: List of traffic filter claimed link id
        items:
          "$ref": "#/definitions/TrafficFilterClaimedLinkIdInfo"
    description: The container for a set of traffic filter claimed link id.
  TrafficFilterEgressRule:
    type: object
    required:
    - protocol
    - target
    properties:
      target:
        type: string
        description: 'Allowed traffic filter egress target: IP address or CIDR mask'
      ports:
        type: array
        description: A list of target ports for an egress rule
        items:
          type: integer
          format: int32
      protocol:
        type: string
        description: The target protocol for an egress rule
        enum:
        - all
        - tcp
        - udp
    description: The rule detail for a traffic filter egress rule.
  TrafficFilterRule:
    type: object
    properties:
      id:
        type: string
        description: The rule ID
      remote_cluster_org_id:
        type: string
        description: The remote cluster organization ID
      remote_cluster_id:
        type: string
        description: The remote cluster ID
      description:
        type: string
        description: Description of the rule
      source:
        type: string
        description: 'Allowed traffic filter source: IP address, CIDR mask, or VPC
          endpoint ID'
      azure_endpoint_name:
        type: string
        description: Name of the Azure Private Endpoint to allow connections from
      azure_endpoint_guid:
        type: string
        description: Resource GUID of the Azure Private Endpoint to allow connections
          from
      egress_rule:
        description: An egress traffic filter rule
        "$ref": "#/definitions/TrafficFilterEgressRule"
    description: The container for a traffic filter rule.
  TrafficFilterRulesetInfo:
    type: object
    required:
    - id
    - include_by_default
    - name
    - region
    - rules
    - type
    properties:
      id:
        type: string
        description: The ruleset ID
      name:
        type: string
        description: Name of the ruleset
      description:
        type: string
        description: Description of the ruleset
      type:
        type: string
        description: Type of the ruleset
      include_by_default:
        type: boolean
        description: Should the ruleset be automatically included in the new deployments
      region:
        type: string
        description: The ruleset can be attached only to deployments in the specific
          region
      rules:
        type: array
        description: List of rules
        items:
          "$ref": "#/definitions/TrafficFilterRule"
      associations:
        type: array
        description: List of associations. Returned only when include_associations
          query parameter is true
        items:
          "$ref": "#/definitions/FilterAssociation"
      total_associations:
        type: integer
        format: int32
        description: Total number of associations. This includes associations the
          user does not have permission to view.Returned only when include_associations
          query parameter is true
    description: The container for a set of traffic filter rules.
  TrafficFilterRulesetRequest:
    type: object
    required:
    - include_by_default
    - name
    - region
    - rules
    - type
    properties:
      name:
        type: string
        description: Name of the ruleset
      description:
        type: string
        description: Description of the ruleset
      type:
        type: string
        description: Type of the ruleset
      include_by_default:
        type: boolean
        description: Should the ruleset be automatically included in the new deployments
      region:
        type: string
        description: The ruleset can be attached only to deployments in the specific
          region
      rules:
        type: array
        description: List of rules
        items:
          "$ref": "#/definitions/TrafficFilterRule"
    description: The specification for traffic filter ruleset.
  TrafficFilterRulesetResponse:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The new ruleset ID
    description: The response after you create a new ruleset.
  TrafficFilterRulesets:
    type: object
    required:
    - rulesets
    properties:
      rulesets:
        type: array
        description: List of traffic filter rules
        items:
          "$ref": "#/definitions/TrafficFilterRulesetInfo"
    description: The container for a set of traffic filter rulesets.
  TrafficFilterSettings:
    type: object
    required:
    - rulesets
    properties:
      rulesets:
        type: array
        description: IDs of the traffic filter rulesets
        items:
          type: string
    description: The configuration settings for the traffic filter.
  TransientApmPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/ApmPlanControlConfiguration"
    description: Defines the configuration parameters that control how the plan is
      applied. For example, the Elasticsearch cluster topology and APM Server settings.
  TransientAppSearchPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/AppSearchPlanControlConfiguration"
    description: Defines configuration parameters that control how the plan (ie consisting
      of the cluster topology and AppSearch settings) is applied
  TransientElasticsearchPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/ElasticsearchPlanControlConfiguration"
      restore_snapshot:
        "$ref": "#/definitions/RestoreSnapshotConfiguration"
      remote_clusters:
        description: The list of resources that will be configured as remote clusters
        "$ref": "#/definitions/RemoteResources"
      cluster_settings_json:
        type: object
        description: |-
          If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied.
          These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied.
          NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).
          - indices.store.throttle.max_bytes_per_sec: 120Mb
          - indices.recovery.max_bytes_per_sec: 120Mb
          - cluster.routing.allocation.cluster_concurrent_rebalance: 5
          - cluster.routing.allocation.node_initial_primaries_recoveries: 5
          - cluster.routing.allocation.node_concurrent_incoming_recoveries: 5
          For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.
    description: Defines the configuration parameters that control how the plan is
      applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.
  TransientEnterpriseSearchPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/EnterpriseSearchPlanControlConfiguration"
    description: Defines configuration parameters that control how the plan (i.e.
      consisting of the cluster topology and Enterprise Search settings) is applied
  TransientIntegrationsServerPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/IntegrationsServerPlanControlConfiguration"
    description: Defines the configuration parameters that control how the plan is
      applied. For example, the Elasticsearch cluster topology and Integrations Server
      settings.
  TransientKibanaPlanConfiguration:
    type: object
    properties:
      strategy:
        "$ref": "#/definitions/PlanStrategy"
      plan_configuration:
        "$ref": "#/definitions/KibanaPlanControlConfiguration"
    description: Defines the configuration parameters that control how the plan is
      applied. For example, the Elasticsearch cluster topology and Kibana instance
      settings.
  TrustRelationshipCreateRequest:
    type: object
    required:
    - name
    - public_ca_cert
    properties:
      name:
        type: string
        description: A name for the trust relationship
      trust_by_default:
        type: boolean
        description: If this relationship is trusted by default by all deployments
          in the current environment.
      account_ids:
        type: array
        description: The ID of the accounts to trust by this relationship.
        items:
          type: string
      public_ca_cert:
        type: string
        description: The public CA certificate of the environment to trust
      installation_id:
        type: string
        description: The installation ID of the environment to trust
    description: A request for creating a trust relationship with another environment
  TrustRelationshipCreateResponse:
    type: object
    required:
    - id
    - local
    - name
    - trust_by_default
    properties:
      id:
        type: string
        description: The id of the trust relationship
      name:
        type: string
        description: The name of the trust relationship
      trust_by_default:
        type: boolean
        description: If this relationship is trusted by default by all deployments
          in the current environment.
      account_ids:
        type: array
        description: The ID of the accounts trusted by this relationship.
        items:
          type: string
      local:
        type: boolean
        description: If this is the trust relationship for the local environment
      installation_id:
        type: string
        description: The installation ID of the environment to trust
    description: A response returned from the trust relationship create endpoint
  TrustRelationshipGetResponse:
    type: object
    required:
    - id
    - last_modified
    - local
    - name
    - trust_by_default
    properties:
      id:
        type: string
        description: The id of the trust relationship
      name:
        type: string
        description: The name of the trust relationship
      trust_by_default:
        type: boolean
        description: If this relationship is trusted by default by all deployments
          in the current environment.
      account_ids:
        type: array
        description: The ID of the accounts trusted by this relationship.
        items:
          type: string
      public_ca_cert:
        type: string
        description: The public CA certificate of the environment to trust
      local:
        type: boolean
        description: If this is the trust relationship for the local environment
      installation_id:
        type: string
        description: The installation ID of the environment to trust
      last_modified:
        type: string
        format: date-time
        description: The most recent time the trust relationship was changed (ISO
          format in UTC)
  TrustRelationshipUpdateRequest:
    type: object
    properties:
      name:
        type: string
        description: A name for the trust relationship
      trust_by_default:
        type: boolean
        description: If this relationship is trusted by default by all deployments
          in the current environment.
      account_ids:
        type: array
        description: The ID of the accounts to trust by this relationship.
        items:
          type: string
      public_ca_cert:
        type: string
        description: The public CA certificate of the environment to trust
      installation_id:
        type: string
        description: The installation ID of the environment to trust
    description: A request for updating a trust relationship with another environment
  TrustRelationshipUpdateResponse:
    type: object
    required:
    - id
    - local
    - name
    - trust_by_default
    properties:
      id:
        type: string
        description: The id of the trust relationship
      name:
        type: string
        description: The name of the trust relationship
      trust_by_default:
        type: boolean
        description: If this relationship is trusted by default by all deployments
          in the current environment.
      account_ids:
        type: array
        description: The ID of the accounts trusted by this relationship.
        items:
          type: string
      local:
        type: boolean
        description: If this is the trust relationship for the local environment
      installation_id:
        type: string
        description: The installation ID of the environment to trust
    description: A response returned from the trust relationship update endpoint
  TrustRelationshipsListResponse:
    type: object
    required:
    - trust_relationships
    properties:
      trust_relationships:
        type: array
        description: The trust relationships
        items:
          "$ref": "#/definitions/TrustRelationshipGetResponse"
    description: Contains a list of trust relationships
  TrustedCertificate:
    type: object
    required:
    - pem
    properties:
      pem:
        type: string
        description: The public ca certificate as string in PEM format.
      metadata:
        description: Metadata about the certificate, including fingerprint and expiry
          date. Generated by the Cloud service and ignored on write.
        readOnly: true
        "$ref": "#/definitions/CertificateMetaData"
    description: An x509 certificate used by a DirectTrustRelationship
  UnreachableRegionInfo:
    type: object
    required:
    - region_id
    properties:
      region_id:
        type: string
        description: Identifier of this region
    description: Information about an unreachable region.
  UpdateExtensionRequest:
    type: object
    required:
    - extension_type
    - name
    - version
    properties:
      name:
        type: string
        description: The extension name.
      description:
        type: string
        description: The extension description.
      download_url:
        type: string
        description: The URL to download the extension archive.
      extension_type:
        type: string
        description: The extension type.
        enum:
        - plugin
        - bundle
      version:
        type: string
        description: The Elasticsearch version.
    description: The body of a request to update an extension
  UpdatedTlsChain:
    type: object
    required:
    - service
    properties:
      service:
        type: string
        description: The service certificate chain that has been updated
        enum:
        - adminconsole
        - proxy
        - ui
        - internalca
    description: Details on the updated TLS chain
  Updates:
    type: object
    properties:
      elasticsearch:
        type: array
        description: Diagnostics for Elasticsearch clusters
        items:
          "$ref": "#/definitions/Elasticsearch"
      kibana:
        type: array
        description: Diagnostics for Kibanas
        items:
          "$ref": "#/definitions/Kibana"
      apm:
        type: array
        description: Diagnostics for APMs
        items:
          "$ref": "#/definitions/Apm"
      integrations_server:
        type: array
        description: Diagnostics for Integrations Server
        items:
          "$ref": "#/definitions/IntegrationsServer"
      appsearch:
        type: array
        description: Diagnostics for AppSearches
        items:
          "$ref": "#/definitions/AppSearch"
      enterprise_search:
        type: array
        description: Diagnostics for Enterprise Search resources
        items:
          "$ref": "#/definitions/EnterpriseSearch"
    description: Holds diagnostics for existing resources that might be updated
  UsageStats:
    type: object
    required:
    - total_connected_memory_total
    properties:
      total_connected_memory_total:
        type: integer
        format: int32
        description: The total amount of memory available to your system
    description: Information about the current usage.
  User:
    type: object
    required:
    - security
    - user_name
    properties:
      user_name:
        type: string
        description: The user's identifier
      security:
        description: The user's security information
        "$ref": "#/definitions/UserSecurity"
      metadata:
        description: The users metadata
        "$ref": "#/definitions/UserMetadata"
      full_name:
        type: string
        description: The user's optional full name
      email:
        type: string
        description: The user's optional email address
      builtin:
        type: boolean
        description: True if the user is a built-in read-only user
    description: An API user
  UserApiKey:
    type: object
    required:
    - api_key_id
    - user_id
    properties:
      user_id:
        type: string
        description: The user ID.
      api_key_id:
        type: string
        description: The API key ID.
    description: The model to specify a user and their API key in a delete request.
  UserList:
    type: object
    required:
    - users
    properties:
      users:
        type: array
        description: A list of users
        items:
          "$ref": "#/definitions/User"
    description: A collection of users
  UserMetadata:
    type: object
    properties:
      created_by:
        type: string
        description: The Id of the user that created this user
      created_at:
        type: string
        format: date-time
        description: The date and time when the user was created
      updated_by:
        type: string
        description: The Id of the user that last updated this user
      updated_at:
        type: string
        format: date-time
        description: The date and time when the user was last updated
      first_login_at:
        type: string
        format: date-time
        description: The date and time when the user first logged in
      last_login_at:
        type: string
        format: date-time
        description: The date and time when the user last logged in
    description: Metadata for a user
  UserSecurity:
    type: object
    properties:
      roles:
        type: array
        description: The set of roles assigned to a user
        items:
          type: string
      permissions:
        type: array
        description: The distinct set of permissions allowed by the user's roles.
          These correspond to operationId values in the OpenAPI definition.
        items:
          type: string
      elevated_permissions:
        description: The user's elevated permission status
        "$ref": "#/definitions/ElevatedPermissions"
      password:
        type: string
        description: The user's password. Only used when modifying a user.
      enabled:
        type: boolean
        description: True if the user is enabled
      security_realm:
        description: The user's security realm
        "$ref": "#/definitions/UserSecurityRealm"
    description: A user's security information
  UserSecurityRealm:
    type: object
    required:
    - id
    - type
    properties:
      type:
        type: string
        description: The type of the security realm
        enum:
        - native
        - ldap
        - saml
        - active_directory
      id:
        type: string
        description: The identifier for the security realm
    description: The security realm the user belongs to
  VersionedIdResponse:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: The ID
      config_version:
        type: object
        description: The version, if the entity is configuration controlled
      config_version_updated:
        type: object
        description: Returns true if the update resulted in a new version of the configuration
          controlled entity
  ZkAcl:
    type: object
    required:
    - id
    - perms
    - scheme
    properties:
      perms:
        type: integer
        format: int32
        description: ZK static permissions for admin/all/create/read/write/delete
      scheme:
        type: string
        description: Zookeeper ACL scheme
      id:
        type: string
        description: Identity within provided scheme
    description: Represents a Zookeeper ACL permission
  ZookeeperNodeInfo:
    type: object
    required:
    - id
    - state
    properties:
      id:
        type: string
        description: Identifier of this ZooKeeper node
      state:
        type: string
        description: State of the ZooKeeper node
        enum:
        - connected
        - suspended
        - reconnected
        - lost
        - read_only
    description: Information about a ZooKeeper node.
  ZookeeperSummary:
    type: object
    required:
    - states
    properties:
      states:
        type: array
        description: Information about the nodes
        items:
          "$ref": "#/definitions/ZookeeperNodeInfo"
    description: Information about the ZooKeeper state.
x-elastic:
  curl:
    auth: '-H "Authorization: ApiKey $ECE_API_KEY"'
tags:
- name: Accounts
  description: Retrieve and update the current Elasticsearch Service account.
- name: Authentication
  description: Manage your Elasticsearch Service API keys.
- name: BillingCostsAnalysis
  x-displayName: Billing costs analysis
  description: Get an overview of your costs by organization ID.
- name: Comments
  description: Manage resource comments.
- name: Deployments
  description: Perform CRUD operations, resync, and commands on your deployments.
- name: Extensions
  x-displayName: Deployments - Extensions
  description: Manage the extensions for your deployment.
- name: DeploymentTemplates
  x-displayName: Deployments - Templates
  description: Manage your deployment templates.
- name: DeploymentsTrafficFilter
  x-displayName: Deployments - Traffic filters
  description: Manage associations between your deployments and traffic filter rulesets
    and link IDs.
- name: PlatformConfigurationNetworking
  x-displayName: Networking - Deployment Domain Names
- name: Organizations
  description: Manage organization invitations and memberships.
- name: OrganizationsConfiguration
  description: Manage organization configuration
- name: Platform
  x-displayName: Platform
  description: Get platform information and extra security certificates.
- name: PlatformConfigurationInstances
  x-displayName: Platform - Configuration - Instances - CRUD
- name: PlatformConfigurationSecurity
  x-displayName: Platform - Configuration - Security
- name: PlatformConfigurationTrustRelationships
  x-displayName: Platform - Configuration - Trust relationships
- name: PlatformInfrastructure
  x-displayName: Platform - Infrastructure
  description: Manage the admin console, allocators, constructors, coordinators, licenses,
    proxies, roles, and runners.
- name: PlatformConfigurationSnapshots
  x-displayName: Platform - Repository - CRUD
- name: Stack
  x-displayName: Stack - Versions - CRUD
  description: Retrieve the available Elastic Stack versions for your deployments.
- name: Telemetry
  description: Manage your Elasticsearch Cloud Enterprise telemetry configuration.
- name: PlatformConfigurationTemplates
  x-displayName: Templates - Deployments - Global
- name: TrustedEnvironments
  x-displayName: Trusted environments
  description: Get the list of trusted environments for the organization.
- name: Users
  description: Manage your Elasticsearch Cloud Enterprise users.
- name: UserRoleAssignments
  x-displayName: Users - Role Assignments
  description: Manage your user role assignments.
