> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coralogix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace a dashboard

> No description available



## OpenAPI

````yaml openapi_v4.yaml put /dashboards/dashboards/v1
openapi: 3.0.0
info:
  title: ''
  version: 1.0.0
servers:
  - url: https://api.coralogix.com/mgmt/openapi/4
  - url: https://api.eu2.coralogix.com/mgmt/openapi/4
  - url: https://api.coralogix.us/mgmt/openapi/4
  - url: https://api.cx498.coralogix.com/mgmt/openapi/4
  - url: https://api.coralogix.in/mgmt/openapi/4
  - url: https://api.coralogixsg.com/mgmt/openapi/4
  - url: https://api.ap3.coralogix.com/mgmt/openapi/4
security:
  - apiKeyAuth: []
tags:
  - name: Recording Rules Service
    description: A service to manage recording rules.
    externalDocs:
      url: ''
  - name: Slos Service
    description: A service for managing Service Level Objectives (SLOs).
    externalDocs:
      url: ''
  - name: Scopes Service
    description: A service to manage scopes
    externalDocs:
      url: ''
  - name: Quota Allocation Rule Set service
    description: Manage quota allocation rules for different entity types.
    externalDocs:
      url: ''
  - name: Extension deployment service
    description: A service that enables querying for extension deployment information.
    externalDocs:
      description: Find out more about extensions in our documentation.
      url: https://coralogix.com/docs/integrations/extensions/
  - name: Contextual data integration service
    description: Query for contextual data integration information.
    externalDocs:
      url: ''
  - name: Alert events service
    description: >-
      Get information regarding your alert events - instances of alerts being
      triggered.
    externalDocs:
      description: Learn more about alert events and incidents in our documentation.
      url: https://coralogix.com/docs/user-guides/alerting/incidents/
  - name: Views service
    description: Create and manage views.
    externalDocs:
      url: ''
  - name: Retentions Service
    description: View and manage retentions
    externalDocs:
      url: ''
  - name: Extension testing service
    externalDocs:
      description: Find out more about extensions in our documentation.
      url: https://coralogix.com/docs/integrations/extensions/
  - name: Rule Groups Service
    description: A service to manage rule groups.
    externalDocs:
      url: ''
  - name: Global routers service
    description: >-
      View and manage your global routers - entities that direct notifications
      to configured destinations based on conditions
    externalDocs:
      description: Lean more about global routers in our documentation
      url: >-
        https://coralogix.com/docs/user-guides/notification-center/routing/introduction/
  - name: Connectors service
    description: >-
      View and manage your connectors - integration instances for notification
      destinations
    externalDocs:
      description: Lean more about connectors in our documentation
      url: >-
        https://coralogix.com/docs/user-guides/notification-center/connectors/introduction/
  - name: IP access service
    description: >-
      IP access service provides the API for managing company IP access
      settings.
    externalDocs:
      url: ''
  - name: Dashboard folders service
    description: Manage your dashboard folders.
    externalDocs:
      url: ''
  - name: Events Service
    description: A service for querying events.
    externalDocs:
      description: Learn more about alerts in our documentation
      url: https://coralogix.com/docs/user-guides/alerting/introduction-to-alerts/
  - name: Data Usage Service
    description: A service to manage data usage metrics.
    externalDocs:
      url: ''
  - name: Extension service
    description: A service that enables querying for extension information.
    externalDocs:
      description: Learn more about extensions in our documentation.
      url: https://coralogix.com/docs/integrations/extensions/
  - name: Outgoing webhooks service
    externalDocs:
      description: Find out more about outbound webhooks in our documentation.
      url: >-
        https://coralogix.com/docs/user-guides/alerting/outbound-webhooks/generic-outbound-webhooks-alert-webhooks/
  - name: Presets service
    description: >-
      View and manage your presets - pre-configured templates for notification
      content rendering
    externalDocs:
      description: Lean more about presets in our documentation
      url: >-
        https://coralogix.com/docs/user-guides/notification-center/presets/introduction/
  - name: API Keys Service
    description: Manage your API Keys.
    externalDocs:
      url: ''
  - name: Events2Metrics Service
    description: Manage your events2metrics.
    externalDocs:
      url: ''
  - name: Custom Enrichments Service
    description: Manage your enrichments.
    externalDocs:
      url: ''
  - name: Alert definitions service
    description: >-
      View and manage your alerts using alert definitions - data structures that
      contain the configuration required to create an alert.
    externalDocs:
      description: Learn more about alerts in our documentation
      url: https://coralogix.com/docs/user-guides/alerting/introduction-to-alerts/
  - name: Folders for views service
    description: Create and manage view folders.
    externalDocs:
      url: ''
  - name: Policies Service
    description: View and manage your TCO policies
    externalDocs:
      url: ''
  - name: Cases service
    description: >-
      Manage cases throughout their lifecycle. Create, view, assign,
      acknowledge, resolve, and close cases to streamline investigations and
      follow-ups.
    externalDocs:
      description: Learn more about Cases in our documentation
      url: https://coralogix.com/docs/user-guides/cases/
  - name: Team Groups Management Service
    description: Manage Team Groups.
    externalDocs:
      url: ''
  - name: API Keys Admin Service
    description: Administrative operations for API Keys management.
    externalDocs:
      url: ''
  - name: Dashboard service
    description: Get information about the Coralogix Dashboard catalog.
    externalDocs:
      url: ''
  - name: Actions Service
    description: View and manage your Actions.
    externalDocs:
      url: ''
  - name: Target Service
    description: View and manage your storage targets for logs.
    externalDocs:
      description: Find out more about archives
      url: >-
        https://coralogix.com/docs/user-guides/data-flow/s3-archive/connect-s3-archive/
  - name: Integration service
    description: A service that enables querying for integration information.
    externalDocs:
      description: Find out more about integrations in our documentation.
      url: https://coralogix.com/docs/integrations/getting-started/
  - name: Alert Scheduler Rule service
    description: Manage your alert scheduler rules.
    externalDocs:
      url: ''
  - name: Entities service
    description: Query information about registered entities in the notification center
    externalDocs:
      description: Lean more about the notification center in our documentation
      url: https://coralogix.com/docs/user-guides/notification-center/introduction/
  - name: Incidents service
    description: >-
      Handle all operations related to incident management within Coralogix.
      Identify, manage, and resolve incidents efficiently through automated
      workflows and team collaboration.
    externalDocs:
      description: Find out more about incident management in our documentation
      url: https://coralogix.com/docs/user-guides/alerting/incidents/
  - name: Metrics Data Archive Service
    description: View and manage your storage targets for metrics.
    externalDocs:
      description: Find out more about archives
      url: >-
        https://coralogix.com/docs/user-guides/data-flow/s3-archive/connect-s3-archive/
  - name: Enrichments Service
    description: Manage your enrichments.
    externalDocs:
      url: ''
  - name: SAML Configuration Service
    description: Manage your SAML configuration
    externalDocs:
      url: ''
  - name: Role Management Service
    description: Service for managing system and custom roles.
    externalDocs:
      url: ''
paths:
  /dashboards/dashboards/v1:
    put:
      tags:
        - Dashboard service
      summary: Replace a dashboard
      description: No description available
      operationId: DashboardsService_ReplaceDashboard
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              description: >-
                This is a request sent to update an existing dashboard with new
                information
              properties:
                dashboard:
                  $ref: '#/components/schemas/Dashboard'
                isLocked:
                  type: boolean
                requestId:
                  type: string
              required:
                - requestId
                - dashboard
              title: Replace dashboard request data structure
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplaceDashboardResponse'
          description: ''
        '400':
          content:
            application/json: {}
          description: Bad Request
        '401':
          content:
            application/json: {}
          description: Unauthorized request
        '500':
          content:
            application/json: {}
          description: Internal server error
      externalDocs:
        url: ''
components:
  schemas:
    Dashboard:
      oneOf:
        - $ref: '#/components/schemas/DashboardOffAbsoluteTimeFrame'
        - $ref: '#/components/schemas/DashboardOffRelativeTimeFrame'
        - $ref: '#/components/schemas/DashboardTwoMinutesAbsoluteTimeFrame'
        - $ref: '#/components/schemas/DashboardTwoMinutesRelativeTimeFrame'
        - $ref: '#/components/schemas/DashboardFiveMinutesAbsoluteTimeFrame'
        - $ref: '#/components/schemas/DashboardFiveMinutesRelativeTimeFrame'
    ReplaceDashboardResponse:
      title: Replace dashboard response data structure
      type: object
      description: This is a response received when the dashboard is successfully updated
      externalDocs:
        description: Find out more Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardOffAbsoluteTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        absoluteTimeFrame:
          $ref: '#/components/schemas/TimeFrame'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        'off':
          $ref: '#/components/schemas/AutoRefreshOff'
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardOffRelativeTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        'off':
          $ref: '#/components/schemas/AutoRefreshOff'
        relativeTimeFrame:
          type: string
          description: Relative time frame specifying a duration from the current time
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardTwoMinutesAbsoluteTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        absoluteTimeFrame:
          $ref: '#/components/schemas/TimeFrame'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        twoMinutes:
          $ref: '#/components/schemas/AutoRefreshTwoMinutes'
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardTwoMinutesRelativeTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        relativeTimeFrame:
          type: string
          description: Relative time frame specifying a duration from the current time
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        twoMinutes:
          $ref: '#/components/schemas/AutoRefreshTwoMinutes'
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardFiveMinutesAbsoluteTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        absoluteTimeFrame:
          $ref: '#/components/schemas/TimeFrame'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        fiveMinutes:
          $ref: '#/components/schemas/AutoRefreshFiveMinutes'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    DashboardFiveMinutesRelativeTimeFrame:
      title: Dashboard
      required:
        - name
        - layout
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/DashboardAction'
        annotations:
          type: array
          items:
            $ref: '#/components/schemas/Annotation'
        description:
          type: string
          description: A brief description or summary of the dashboard's purpose or content
          example: Sample description
        filters:
          type: array
          items:
            $ref: '#/components/schemas/filters.Filter'
        fiveMinutes:
          $ref: '#/components/schemas/AutoRefreshFiveMinutes'
        folderId:
          $ref: '#/components/schemas/UUID'
        folderPath:
          $ref: '#/components/schemas/FolderPath'
        id:
          type: string
          description: A unique identifier of the dashboard
          example: GZLHSeqelCbD3I7HbIDtL
        layout:
          $ref: '#/components/schemas/Layout'
        name:
          type: string
          description: The display name of the dashboard
          example: Example Name
        relativeTimeFrame:
          type: string
          description: Relative time frame specifying a duration from the current time
        slugName:
          type: string
          description: A unique slug name serving as an alias for accessing the dashboard
          example: system-health-monitoring
        variables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        variablesV2:
          type: array
          items:
            $ref: '#/components/schemas/VariableV2'
      additionalProperties: false
      description: >-
        Dashboard represents the structure and configuration of a Coralogix
        Custom Dashboard.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    TimeFrame:
      type: object
      properties:
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
    DashboardAction:
      title: Dashboard Action
      type: object
      properties:
        dataSource:
          $ref: '#/components/schemas/ActionDataSourceType'
        definition:
          $ref: '#/components/schemas/ActionDefinition'
        id:
          type: string
          description: A unique identifier of the action
        name:
          type: string
          description: The display name of the action
        shouldOpenInNewWindow:
          type: boolean
          description: >-
            Defines if the action should open in a new window or current window
            in the browser
        widgetId:
          type: string
          description: >-
            Reference to specific widget within a dashboard, can be null if the
            action is dashboard wide
      description: >-
        Public actions that are always available within specific dashboard's
        context.
      externalDocs:
        description: Learn more about Custom Dashboards in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    Annotation:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/AnnotationColor'
        description:
          type: string
        enabled:
          type: boolean
        id:
          type: string
        name:
          type: string
        scope:
          $ref: '#/components/schemas/WidgetScope'
        source:
          $ref: '#/components/schemas/Annotation.Source'
    filters.Filter:
      title: Filter
      type: object
      properties:
        collapsed:
          type: boolean
          description: >-
            Indicates if the filter's UI representation should be collapsed or
            expanded.
        displayName:
          type: string
          description: A display name for the filter
        enabled:
          type: boolean
          description: Indicates if the filter is currently enabled or not.
        id:
          $ref: '#/components/schemas/UUID'
        source:
          $ref: '#/components/schemas/Filter.Source'
      description: >-
        This data structure represents the configuration for filtering data on
        the dashboard.
      externalDocs:
        description: >-
          Discover how to filter and query data in Custom Dashboards by
          exploring our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/
    UUID:
      type: object
      properties:
        value:
          type: string
    FolderPath:
      type: object
      properties:
        segments:
          type: array
          items:
            type: string
    Layout:
      type: object
      properties:
        sections:
          type: array
          items:
            $ref: '#/components/schemas/Section'
    AutoRefreshOff:
      type: object
    Variable:
      type: object
      properties:
        definition:
          $ref: '#/components/schemas/Variable.Definition'
        description:
          type: string
        displayName:
          type: string
        displayType:
          $ref: '#/components/schemas/VariableDisplayType'
        name:
          type: string
    VariableV2:
      type: object
      properties:
        description:
          type: string
        displayFullRow:
          type: boolean
        displayName:
          type: string
        displayType:
          $ref: '#/components/schemas/VariableDisplayTypeV2'
        id:
          $ref: '#/components/schemas/UUID'
        name:
          type: string
        source:
          $ref: '#/components/schemas/VariableSourceV2'
        value:
          $ref: '#/components/schemas/VariableValueV2'
    AutoRefreshTwoMinutes:
      type: object
    AutoRefreshFiveMinutes:
      type: object
    ActionDataSourceType:
      enum:
        - ACTION_DATA_SOURCE_TYPE_NONE_UNSPECIFIED
        - ACTION_DATA_SOURCE_TYPE_LOGS
        - ACTION_DATA_SOURCE_TYPE_SPANS
        - ACTION_DATA_SOURCE_TYPE_METRICS
        - ACTION_DATA_SOURCE_TYPE_DATAPRIME
      type: string
    ActionDefinition:
      oneOf:
        - $ref: '#/components/schemas/ActionDefinitionCustomAction'
        - $ref: '#/components/schemas/ActionDefinitionGoToDashboardAction'
    AnnotationColor:
      enum:
        - ANNOTATION_COLOR_UNSPECIFIED
        - ANNOTATION_COLOR_DEFAULT
        - ANNOTATION_COLOR_GREEN
        - ANNOTATION_COLOR_CYAN
        - ANNOTATION_COLOR_BLUE
        - ANNOTATION_COLOR_PURPLE
        - ANNOTATION_COLOR_MAGENTA
        - ANNOTATION_COLOR_RED
        - ANNOTATION_COLOR_ORANGE
        - ANNOTATION_COLOR_YELLOW
      type: string
    WidgetScope:
      oneOf:
        - $ref: '#/components/schemas/WidgetScopeAllWidgets'
        - $ref: '#/components/schemas/WidgetScopeSpecificWidgets'
    Annotation.Source:
      oneOf:
        - $ref: '#/components/schemas/AnnotationSourceSpans'
        - $ref: '#/components/schemas/AnnotationSourceDataprime'
        - $ref: '#/components/schemas/AnnotationSourceManual'
        - $ref: '#/components/schemas/AnnotationSourceEventRecurrence'
        - $ref: '#/components/schemas/AnnotationSourceMetrics'
        - $ref: '#/components/schemas/AnnotationSourceLogs'
    Filter.Source:
      oneOf:
        - $ref: '#/components/schemas/FilterSourceLogs'
        - $ref: '#/components/schemas/FilterSourceSpans'
        - $ref: '#/components/schemas/FilterSourceMetrics'
    Section:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        options:
          $ref: '#/components/schemas/SectionOptions'
        rows:
          type: array
          items:
            $ref: '#/components/schemas/Row'
    Variable.Definition:
      oneOf:
        - $ref: '#/components/schemas/VariableDefinitionConstant'
        - $ref: '#/components/schemas/VariableDefinitionMultiSelect'
    VariableDisplayType:
      enum:
        - VARIABLE_DISPLAY_TYPE_UNSPECIFIED
        - VARIABLE_DISPLAY_TYPE_LABEL_VALUE
        - VARIABLE_DISPLAY_TYPE_VALUE
        - VARIABLE_DISPLAY_TYPE_NOTHING
      type: string
    VariableDisplayTypeV2:
      enum:
        - VARIABLE_DISPLAY_TYPE_V2_UNSPECIFIED
        - VARIABLE_DISPLAY_TYPE_V2_LABEL_VALUE
        - VARIABLE_DISPLAY_TYPE_V2_VALUE
        - VARIABLE_DISPLAY_TYPE_V2_NOTHING
      type: string
    VariableSourceV2:
      oneOf:
        - $ref: '#/components/schemas/VariableSourceV2Static'
        - $ref: '#/components/schemas/VariableSourceV2Query'
        - $ref: '#/components/schemas/VariableSourceV2Textbox'
    VariableValueV2:
      oneOf:
        - $ref: '#/components/schemas/VariableValueV2MultiString'
        - $ref: '#/components/schemas/VariableValueV2SingleString'
        - $ref: '#/components/schemas/VariableValueV2SingleNumeric'
        - $ref: '#/components/schemas/VariableValueV2Regex'
        - $ref: '#/components/schemas/VariableValueV2Lucene'
        - $ref: '#/components/schemas/VariableValueV2Interval'
    ActionDefinitionCustomAction:
      type: object
      properties:
        customAction:
          $ref: '#/components/schemas/CustomAction'
      additionalProperties: false
    ActionDefinitionGoToDashboardAction:
      type: object
      properties:
        goToDashboardAction:
          $ref: '#/components/schemas/GoToDashboardTemplateAction'
      additionalProperties: false
    WidgetScopeAllWidgets:
      type: object
      properties:
        allWidgets:
          $ref: '#/components/schemas/AllWidgets'
      additionalProperties: false
    WidgetScopeSpecificWidgets:
      type: object
      properties:
        specificWidgets:
          $ref: '#/components/schemas/SpecificWidgets'
      additionalProperties: false
    AnnotationSourceSpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/SpansSource'
      additionalProperties: false
    AnnotationSourceDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/DataprimeSource'
      additionalProperties: false
    AnnotationSourceManual:
      type: object
      properties:
        manual:
          $ref: '#/components/schemas/ManualSource'
      additionalProperties: false
    AnnotationSourceEventRecurrence:
      type: object
      properties:
        eventRecurrence:
          $ref: '#/components/schemas/EventRecurrenceSource'
      additionalProperties: false
    AnnotationSourceMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/MetricsSource'
      additionalProperties: false
    AnnotationSourceLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/LogsSource'
      additionalProperties: false
    FilterSourceLogs:
      title: Source
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/Filter.LogsFilter'
      additionalProperties: false
      description: Defines the type of data the filter applies to.
      externalDocs:
        url: ''
    FilterSourceSpans:
      title: Source
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/SpansFilter'
      additionalProperties: false
      description: Defines the type of data the filter applies to.
      externalDocs:
        url: ''
    FilterSourceMetrics:
      title: Source
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/MetricsFilter'
      additionalProperties: false
      description: Defines the type of data the filter applies to.
      externalDocs:
        url: ''
    SectionOptions:
      oneOf:
        - $ref: '#/components/schemas/SectionOptionsInternal'
        - $ref: '#/components/schemas/SectionOptionsCustom'
    Row:
      type: object
      properties:
        appearance:
          $ref: '#/components/schemas/Row.Appearance'
        id:
          $ref: '#/components/schemas/UUID'
        widgets:
          type: array
          items:
            $ref: '#/components/schemas/Widget'
    VariableDefinitionConstant:
      type: object
      properties:
        constant:
          $ref: '#/components/schemas/Constant'
      additionalProperties: false
    VariableDefinitionMultiSelect:
      type: object
      properties:
        multiSelect:
          $ref: '#/components/schemas/MultiSelect'
      additionalProperties: false
    VariableSourceV2Static:
      type: object
      properties:
        static:
          $ref: '#/components/schemas/StaticSource'
      additionalProperties: false
    VariableSourceV2Query:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/VariableSourceV2.QuerySource'
      additionalProperties: false
    VariableSourceV2Textbox:
      type: object
      properties:
        textbox:
          $ref: '#/components/schemas/TextboxSource'
      additionalProperties: false
    VariableValueV2MultiString:
      type: object
      properties:
        multiString:
          $ref: '#/components/schemas/MultiStringValue'
      additionalProperties: false
    VariableValueV2SingleString:
      type: object
      properties:
        singleString:
          $ref: '#/components/schemas/SingleStringValue'
      additionalProperties: false
    VariableValueV2SingleNumeric:
      type: object
      properties:
        singleNumeric:
          $ref: '#/components/schemas/VariableValueV2.SingleNumericValue'
      additionalProperties: false
    VariableValueV2Regex:
      type: object
      properties:
        regex:
          $ref: '#/components/schemas/RegexValue'
      additionalProperties: false
    VariableValueV2Lucene:
      type: object
      properties:
        lucene:
          $ref: '#/components/schemas/LuceneQueryValue'
      additionalProperties: false
    VariableValueV2Interval:
      type: object
      properties:
        interval:
          $ref: '#/components/schemas/IntervalValue'
      additionalProperties: false
    CustomAction:
      type: object
      properties:
        url:
          type: string
          description: Static URL that may contain variables using {{variable_name}} syntax
    GoToDashboardTemplateAction:
      type: object
      properties:
        dashboardId:
          type: string
          description: Reference to specific dashboard
    AllWidgets:
      type: object
    SpecificWidgets:
      type: object
      properties:
        widgetIds:
          type: array
          items:
            type: string
    SpansSource:
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/v1.common.DataModeType'
        labelFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        messageTemplate:
          type: string
        strategy:
          $ref: '#/components/schemas/SpansSource.Strategy'
    DataprimeSource:
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/v1.common.DataModeType'
        labelFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        messageTemplate:
          type: string
        orientation:
          $ref: '#/components/schemas/AnnotationOrientation'
        query:
          $ref: '#/components/schemas/common.DataprimeQuery'
        strategy:
          $ref: '#/components/schemas/DataprimeSource.Strategy'
    ManualSource:
      type: object
      properties:
        messageTemplate:
          type: string
        orientation:
          $ref: '#/components/schemas/AnnotationOrientation'
        strategy:
          $ref: '#/components/schemas/ManualSource.Strategy'
    EventRecurrenceSource:
      type: object
      properties:
        messageTemplate:
          type: string
        recurrence:
          $ref: '#/components/schemas/Recurrence'
        strategy:
          $ref: '#/components/schemas/EventRecurrenceSource.Strategy'
    MetricsSource:
      type: object
      properties:
        labels:
          type: array
          items:
            type: string
        messageTemplate:
          type: string
        orientation:
          $ref: '#/components/schemas/AnnotationOrientation'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        strategy:
          $ref: '#/components/schemas/MetricsSource.Strategy'
    LogsSource:
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/v1.common.DataModeType'
        labelFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        messageTemplate:
          type: string
        strategy:
          $ref: '#/components/schemas/LogsSource.Strategy'
    Filter.LogsFilter:
      title: LogsFilter
      type: object
      properties:
        field:
          type: string
          description: The log field to which the filter is applied.
        observationField:
          $ref: '#/components/schemas/ObservationField'
        operator:
          $ref: '#/components/schemas/Filter.Operator'
      description: This data structure represents the filter criteria for logs.
      externalDocs:
        url: ''
    SpansFilter:
      title: SpansFilter
      type: object
      properties:
        field:
          $ref: '#/components/schemas/SpanField'
        observationField:
          $ref: '#/components/schemas/SpanObservationField'
        operator:
          $ref: '#/components/schemas/Filter.Operator'
      description: This data structure represents the filter criteria for spans.
      externalDocs:
        url: ''
    MetricsFilter:
      title: MetricsFilter
      type: object
      properties:
        label:
          type: string
          description: The label associated with the metric.
        metric:
          type: string
          description: The name of the metric to which the filter is applied.
        operator:
          $ref: '#/components/schemas/Filter.Operator'
      description: This data structure represents the filter criteria for metrics.
      externalDocs:
        url: ''
    SectionOptionsInternal:
      type: object
      properties:
        internal:
          $ref: '#/components/schemas/InternalSectionOptions'
      additionalProperties: false
    SectionOptionsCustom:
      type: object
      properties:
        custom:
          $ref: '#/components/schemas/CustomSectionOptions'
      additionalProperties: false
    Row.Appearance:
      type: object
      properties:
        height:
          type: integer
          description: >-
            Height of a row, defined as a multiplier number of the base height,
            where 1 = 1 * base height, 2 = 2 * base height etc
          format: int32
    Widget:
      title: Widget
      type: object
      properties:
        appearance:
          $ref: '#/components/schemas/Widget.Appearance'
        createdAt:
          type: string
          format: date-time
        definition:
          $ref: '#/components/schemas/Widget.Definition'
        description:
          type: string
          description: Short description of the widget
        id:
          $ref: '#/components/schemas/UUID'
        title:
          type: string
          description: Name of the widget
        updatedAt:
          type: string
          format: date-time
      description: This data structure represents a dashboard widget.
      externalDocs:
        description: Find out more about creating dashboard widgets in our documentation.
        url: >-
          https://coralogix.com/docs/user-guides/custom-dashboards/getting-started/#add-new-widgets
    Constant:
      type: object
      properties:
        value:
          type: string
    MultiSelect:
      type: object
      properties:
        selected:
          type: array
          items:
            type: string
            deprecated: true
        selection:
          $ref: '#/components/schemas/MultiSelect.Selection'
        selectionOptions:
          $ref: '#/components/schemas/VariableSelectionOptions'
        source:
          $ref: '#/components/schemas/MultiSelect.Source'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
    StaticSource:
      type: object
      properties:
        allOption:
          $ref: '#/components/schemas/AllOption'
        values:
          type: array
          items:
            $ref: '#/components/schemas/ValueLabel'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
    VariableSourceV2.QuerySource:
      oneOf:
        - $ref: '#/components/schemas/VariableSourceV2QuerySourceLogsQuery'
        - $ref: '#/components/schemas/VariableSourceV2QuerySourceMetricsQuery'
        - $ref: '#/components/schemas/VariableSourceV2QuerySourceSpansQuery'
        - $ref: '#/components/schemas/VariableSourceV2QuerySourceDataprimeQuery'
    TextboxSource:
      type: object
      properties:
        defaultValue:
          $ref: '#/components/schemas/TextboxDefaultValue'
    MultiStringValue:
      oneOf:
        - $ref: '#/components/schemas/MultiStringValueAll'
        - $ref: '#/components/schemas/MultiStringValueList'
    SingleStringValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/StringValueLabel'
    VariableValueV2.SingleNumericValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/NumericValueLabel'
    RegexValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/StringValueLabel'
    LuceneQueryValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/StringValueLabel'
    IntervalValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/StringValueLabel'
    v1.common.DataModeType:
      enum:
        - DATA_MODE_TYPE_HIGH_UNSPECIFIED
        - DATA_MODE_TYPE_ARCHIVE
      type: string
    ObservationField:
      type: object
      properties:
        keypath:
          type: array
          items:
            type: string
        scope:
          $ref: '#/components/schemas/DatasetScope'
    LuceneQuery:
      type: object
      properties:
        value:
          type: string
    SpansSource.Strategy:
      oneOf:
        - $ref: '#/components/schemas/SpansSourceStrategyInstant'
        - $ref: '#/components/schemas/SpansSourceStrategyRange'
        - $ref: '#/components/schemas/SpansSourceStrategyDuration'
    AnnotationOrientation:
      enum:
        - ANNOTATION_ORIENTATION_VERTICAL_UNSPECIFIED
        - ANNOTATION_ORIENTATION_HORIZONTAL
      type: string
    common.DataprimeQuery:
      type: object
      properties:
        text:
          type: string
    DataprimeSource.Strategy:
      oneOf:
        - $ref: '#/components/schemas/DataprimeSourceStrategyInstant'
        - $ref: '#/components/schemas/DataprimeSourceStrategyRange'
        - $ref: '#/components/schemas/DataprimeSourceStrategyDuration'
    ManualSource.Strategy:
      oneOf:
        - $ref: '#/components/schemas/ManualSourceStrategyInstant'
        - $ref: '#/components/schemas/ManualSourceStrategyRange'
    Recurrence:
      type: object
      properties:
        weekly:
          $ref: '#/components/schemas/WeeklyRecurrence'
    EventRecurrenceSource.Strategy:
      oneOf:
        - $ref: '#/components/schemas/EventRecurrenceSourceStrategyInstant'
        - $ref: '#/components/schemas/EventRecurrenceSourceStrategyDuration'
    PromQlQuery:
      type: object
      properties:
        value:
          type: string
    MetricsSource.Strategy:
      type: object
      properties:
        startTimeMetric:
          $ref: '#/components/schemas/StartTimeMetric'
    LogsSource.Strategy:
      oneOf:
        - $ref: '#/components/schemas/LogsSourceStrategyInstant'
        - $ref: '#/components/schemas/LogsSourceStrategyRange'
        - $ref: '#/components/schemas/LogsSourceStrategyDuration'
    Filter.Operator:
      oneOf:
        - $ref: '#/components/schemas/FilterOperatorEquals'
        - $ref: '#/components/schemas/FilterOperatorNotEquals'
    SpanField:
      oneOf:
        - $ref: '#/components/schemas/SpanFieldProcessTagField'
        - $ref: '#/components/schemas/SpanFieldMetadataField'
        - $ref: '#/components/schemas/SpanFieldTagField'
    SpanObservationField:
      type: object
      properties:
        keypath:
          type: array
          items:
            type: string
        relationType:
          $ref: '#/components/schemas/SpanRelationType'
        scope:
          $ref: '#/components/schemas/DatasetScope'
    InternalSectionOptions:
      type: object
    CustomSectionOptions:
      type: object
      properties:
        collapsed:
          type: boolean
          description: Indicator if the section is collapsed
          example: false
        color:
          $ref: '#/components/schemas/SectionColor'
        description:
          type: string
          description: Short description of a section
        name:
          type: string
          description: Section custom name
        repetitiveVar:
          $ref: '#/components/schemas/RepetitiveVar'
    Widget.Appearance:
      type: object
      properties:
        width:
          type: integer
          format: int32
    Widget.Definition:
      oneOf:
        - $ref: '#/components/schemas/WidgetDefinitionHexagon'
        - $ref: '#/components/schemas/WidgetDefinitionDynamic'
        - $ref: '#/components/schemas/WidgetDefinitionDataTable'
        - $ref: '#/components/schemas/WidgetDefinitionPieChart'
        - $ref: '#/components/schemas/WidgetDefinitionMarkdown'
        - $ref: '#/components/schemas/WidgetDefinitionLineChart'
        - $ref: '#/components/schemas/WidgetDefinitionGauge'
        - $ref: '#/components/schemas/WidgetDefinitionBarChart'
        - $ref: '#/components/schemas/WidgetDefinitionHorizontalBarChart'
    MultiSelect.Selection:
      oneOf:
        - $ref: '#/components/schemas/MultiSelectSelectionAll'
        - $ref: '#/components/schemas/MultiSelectSelectionList'
    VariableSelectionOptions:
      type: object
      properties:
        selectionType:
          $ref: '#/components/schemas/SelectionType'
    MultiSelect.Source:
      oneOf:
        - $ref: '#/components/schemas/MultiSelectSourceLogsPath'
        - $ref: '#/components/schemas/MultiSelectSourceMetricLabel'
        - $ref: '#/components/schemas/MultiSelectSourceConstantList'
        - $ref: '#/components/schemas/MultiSelectSourceSpanField'
        - $ref: '#/components/schemas/MultiSelectSourceQuery'
    OrderDirection:
      enum:
        - ORDER_DIRECTION_UNSPECIFIED
        - ORDER_DIRECTION_ASC
        - ORDER_DIRECTION_DESC
      type: string
    AllOption:
      type: object
      properties:
        includeAll:
          type: boolean
        label:
          type: string
    ValueLabel:
      type: object
      properties:
        isDefault:
          type: boolean
        label:
          type: string
        value:
          type: string
    VariableSourceV2QuerySourceLogsQuery:
      type: object
      properties:
        allOption:
          $ref: '#/components/schemas/AllOption'
        logsQuery:
          $ref: '#/components/schemas/QuerySource.LogsQuery'
        refreshStrategy:
          $ref: '#/components/schemas/VariableSourceV2.RefreshStrategy'
        valueDisplayOptions:
          $ref: '#/components/schemas/VariableSourceV2.ValueDisplayOptions'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
      additionalProperties: false
    VariableSourceV2QuerySourceMetricsQuery:
      type: object
      properties:
        allOption:
          $ref: '#/components/schemas/AllOption'
        metricsQuery:
          $ref: '#/components/schemas/QuerySource.MetricsQuery'
        refreshStrategy:
          $ref: '#/components/schemas/VariableSourceV2.RefreshStrategy'
        valueDisplayOptions:
          $ref: '#/components/schemas/VariableSourceV2.ValueDisplayOptions'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
      additionalProperties: false
    VariableSourceV2QuerySourceSpansQuery:
      type: object
      properties:
        allOption:
          $ref: '#/components/schemas/AllOption'
        refreshStrategy:
          $ref: '#/components/schemas/VariableSourceV2.RefreshStrategy'
        spansQuery:
          $ref: '#/components/schemas/QuerySource.SpansQuery'
        valueDisplayOptions:
          $ref: '#/components/schemas/VariableSourceV2.ValueDisplayOptions'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
      additionalProperties: false
    VariableSourceV2QuerySourceDataprimeQuery:
      type: object
      properties:
        allOption:
          $ref: '#/components/schemas/AllOption'
        dataprimeQuery:
          $ref: '#/components/schemas/QuerySource.DataprimeQuery'
        refreshStrategy:
          $ref: '#/components/schemas/VariableSourceV2.RefreshStrategy'
        valueDisplayOptions:
          $ref: '#/components/schemas/VariableSourceV2.ValueDisplayOptions'
        valuesOrderDirection:
          $ref: '#/components/schemas/OrderDirection'
      additionalProperties: false
    TextboxDefaultValue:
      oneOf:
        - $ref: '#/components/schemas/TextboxDefaultValueDefaultLuceneValue'
        - $ref: '#/components/schemas/TextboxDefaultValueDefaultRegexValue'
        - $ref: '#/components/schemas/TextboxDefaultValueDefaultIntervalValue'
        - $ref: '#/components/schemas/TextboxDefaultValueSingleString'
        - $ref: '#/components/schemas/TextboxDefaultValueSingleNumeric'
        - $ref: '#/components/schemas/TextboxDefaultValueDefaultStringValue'
        - $ref: '#/components/schemas/TextboxDefaultValueDefaultNumericValue'
    MultiStringValueAll:
      type: object
      properties:
        all:
          $ref: '#/components/schemas/AllValue'
      additionalProperties: false
    MultiStringValueList:
      type: object
      properties:
        list:
          $ref: '#/components/schemas/ListValue'
      additionalProperties: false
    StringValueLabel:
      type: object
      properties:
        label:
          type: string
        value:
          type: string
    NumericValueLabel:
      type: object
      properties:
        label:
          type: string
        value:
          type: number
          format: float
    DatasetScope:
      enum:
        - DATASET_SCOPE_UNSPECIFIED
        - DATASET_SCOPE_USER_DATA
        - DATASET_SCOPE_LABEL
        - DATASET_SCOPE_METADATA
      type: string
    SpansSourceStrategyInstant:
      type: object
      properties:
        instant:
          $ref: '#/components/schemas/SpansSource.Strategy.Instant'
      additionalProperties: false
    SpansSourceStrategyRange:
      type: object
      properties:
        range:
          $ref: '#/components/schemas/SpansSource.Strategy.Range'
      additionalProperties: false
    SpansSourceStrategyDuration:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/SpansSource.Strategy.Duration'
      additionalProperties: false
    DataprimeSourceStrategyInstant:
      type: object
      properties:
        instant:
          $ref: '#/components/schemas/DataprimeSource.Strategy.Instant'
      additionalProperties: false
    DataprimeSourceStrategyRange:
      type: object
      properties:
        range:
          $ref: '#/components/schemas/DataprimeSource.Strategy.Range'
      additionalProperties: false
    DataprimeSourceStrategyDuration:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/DataprimeSource.Strategy.Duration'
      additionalProperties: false
    ManualSourceStrategyInstant:
      type: object
      properties:
        instant:
          $ref: '#/components/schemas/ManualSource.Strategy.Instant'
      additionalProperties: false
    ManualSourceStrategyRange:
      type: object
      properties:
        range:
          $ref: '#/components/schemas/ManualSource.Strategy.Range'
      additionalProperties: false
    WeeklyRecurrence:
      type: object
      properties:
        daysOfWeek:
          type: array
          items:
            $ref: '#/components/schemas/Weekday'
    EventRecurrenceSourceStrategyInstant:
      type: object
      properties:
        instant:
          $ref: '#/components/schemas/EventRecurrenceSource.Strategy.Instant'
      additionalProperties: false
    EventRecurrenceSourceStrategyDuration:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/EventRecurrenceSource.Strategy.Duration'
      additionalProperties: false
    StartTimeMetric:
      type: object
    LogsSourceStrategyInstant:
      type: object
      properties:
        instant:
          $ref: '#/components/schemas/LogsSource.Strategy.Instant'
      additionalProperties: false
    LogsSourceStrategyRange:
      type: object
      properties:
        range:
          $ref: '#/components/schemas/LogsSource.Strategy.Range'
      additionalProperties: false
    LogsSourceStrategyDuration:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/LogsSource.Strategy.Duration'
      additionalProperties: false
    FilterOperatorEquals:
      title: Operator
      type: object
      properties:
        equals:
          $ref: '#/components/schemas/Filter.Equals'
      additionalProperties: false
      description: This data structure defines the comparison operation for the filter.
      externalDocs:
        url: ''
    FilterOperatorNotEquals:
      title: Operator
      type: object
      properties:
        notEquals:
          $ref: '#/components/schemas/Filter.NotEquals'
      additionalProperties: false
      description: This data structure defines the comparison operation for the filter.
      externalDocs:
        url: ''
    SpanFieldProcessTagField:
      type: object
      properties:
        processTagField:
          type: string
      additionalProperties: false
    SpanFieldMetadataField:
      type: object
      properties:
        metadataField:
          $ref: '#/components/schemas/MetadataField'
      additionalProperties: false
    SpanFieldTagField:
      type: object
      properties:
        tagField:
          type: string
      additionalProperties: false
    SpanRelationType:
      enum:
        - SPAN_RELATION_TYPE_NONE_UNSPECIFIED
        - SPAN_RELATION_TYPE_OTHER
        - SPAN_RELATION_TYPE_PARENT
        - SPAN_RELATION_TYPE_ROOT
      type: string
    SectionColor:
      type: object
      properties:
        predefined:
          $ref: '#/components/schemas/SectionPredefinedColor'
    RepetitiveVar:
      type: object
      properties:
        name:
          type: string
          description: >-
            Variable name that can be applied on section making it repetitive
            section
          example: pod_name
    WidgetDefinitionHexagon:
      type: object
      properties:
        hexagon:
          $ref: '#/components/schemas/Hexagon'
      additionalProperties: false
    WidgetDefinitionDynamic:
      type: object
      properties:
        dynamic:
          $ref: '#/components/schemas/widgets.Dynamic'
      additionalProperties: false
    WidgetDefinitionDataTable:
      type: object
      properties:
        dataTable:
          $ref: '#/components/schemas/DataTable'
      additionalProperties: false
    WidgetDefinitionPieChart:
      type: object
      properties:
        pieChart:
          $ref: '#/components/schemas/widgets.PieChart'
      additionalProperties: false
    WidgetDefinitionMarkdown:
      type: object
      properties:
        markdown:
          $ref: '#/components/schemas/Markdown'
      additionalProperties: false
    WidgetDefinitionLineChart:
      type: object
      properties:
        lineChart:
          $ref: '#/components/schemas/LineChart'
      additionalProperties: false
    WidgetDefinitionGauge:
      type: object
      properties:
        gauge:
          $ref: '#/components/schemas/widgets.Gauge'
      additionalProperties: false
    WidgetDefinitionBarChart:
      type: object
      properties:
        barChart:
          $ref: '#/components/schemas/BarChart'
      additionalProperties: false
    WidgetDefinitionHorizontalBarChart:
      type: object
      properties:
        horizontalBarChart:
          $ref: '#/components/schemas/HorizontalBarChart'
      additionalProperties: false
    MultiSelectSelectionAll:
      type: object
      properties:
        all:
          $ref: '#/components/schemas/MultiSelect.Selection.AllSelection'
      additionalProperties: false
    MultiSelectSelectionList:
      type: object
      properties:
        list:
          $ref: '#/components/schemas/MultiSelect.Selection.ListSelection'
      additionalProperties: false
    SelectionType:
      enum:
        - SELECTION_TYPE_UNSPECIFIED
        - SELECTION_TYPE_MULTI_ALL
        - SELECTION_TYPE_MULTI
        - SELECTION_TYPE_SINGLE
      type: string
    MultiSelectSourceLogsPath:
      type: object
      properties:
        logsPath:
          $ref: '#/components/schemas/LogsPathSource'
      additionalProperties: false
    MultiSelectSourceMetricLabel:
      type: object
      properties:
        metricLabel:
          $ref: '#/components/schemas/MetricLabelSource'
      additionalProperties: false
    MultiSelectSourceConstantList:
      type: object
      properties:
        constantList:
          $ref: '#/components/schemas/ConstantListSource'
      additionalProperties: false
    MultiSelectSourceSpanField:
      type: object
      properties:
        spanField:
          $ref: '#/components/schemas/SpanFieldSource'
      additionalProperties: false
    MultiSelectSourceQuery:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/MultiSelect.QuerySource'
      additionalProperties: false
    QuerySource.LogsQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/QuerySource.LogsQuery.Type'
    VariableSourceV2.RefreshStrategy:
      enum:
        - REFRESH_STRATEGY_UNSPECIFIED
        - REFRESH_STRATEGY_ON_DASHBOARD_LOAD
        - REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE
      type: string
    VariableSourceV2.ValueDisplayOptions:
      type: object
      properties:
        labelRegex:
          type: string
        valueRegex:
          type: string
    QuerySource.MetricsQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Type'
    QuerySource.SpansQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/QuerySource.SpansQuery.Type'
    QuerySource.DataprimeQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/DataprimeQuery.Type'
    TextboxDefaultValueDefaultLuceneValue:
      type: object
      properties:
        defaultLuceneValue:
          $ref: '#/components/schemas/TextboxDefaultLuceneValue'
      additionalProperties: false
    TextboxDefaultValueDefaultRegexValue:
      type: object
      properties:
        defaultRegexValue:
          $ref: '#/components/schemas/TextboxDefaultRegexValue'
      additionalProperties: false
    TextboxDefaultValueDefaultIntervalValue:
      type: object
      properties:
        defaultIntervalValue:
          $ref: '#/components/schemas/TextboxDefaultIntervalValue'
      additionalProperties: false
    TextboxDefaultValueSingleString:
      type: object
      properties:
        singleString:
          type: string
          deprecated: true
      additionalProperties: false
    TextboxDefaultValueSingleNumeric:
      type: object
      properties:
        singleNumeric:
          type: number
          format: float
          deprecated: true
      additionalProperties: false
    TextboxDefaultValueDefaultStringValue:
      type: object
      properties:
        defaultStringValue:
          $ref: '#/components/schemas/TextboxDefaultStringValue'
      additionalProperties: false
    TextboxDefaultValueDefaultNumericValue:
      type: object
      properties:
        defaultNumericValue:
          $ref: '#/components/schemas/TextboxDefaultNumericValue'
      additionalProperties: false
    AllValue:
      type: object
    ListValue:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/SingleStringValue'
    SpansSource.Strategy.Instant:
      type: object
      properties:
        timestampField:
          $ref: '#/components/schemas/ObservationField'
    SpansSource.Strategy.Range:
      type: object
      properties:
        endTimestampField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    SpansSource.Strategy.Duration:
      type: object
      properties:
        durationField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    DataprimeSource.Strategy.Instant:
      type: object
      properties:
        timestampField:
          $ref: '#/components/schemas/ObservationField'
    DataprimeSource.Strategy.Range:
      type: object
      properties:
        endTimestampField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    DataprimeSource.Strategy.Duration:
      type: object
      properties:
        durationField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    ManualSource.Strategy.Instant:
      type: object
      properties:
        customUnit:
          type: string
        unit:
          $ref: '#/components/schemas/common.Unit'
        value:
          type: number
          format: double
    ManualSource.Strategy.Range:
      type: object
      properties:
        customUnit:
          type: string
        endValue:
          type: number
          format: double
        startValue:
          type: number
          format: double
        unit:
          $ref: '#/components/schemas/common.Unit'
    Weekday:
      enum:
        - WEEKDAY_UNSPECIFIED
        - WEEKDAY_MONDAY
        - WEEKDAY_TUESDAY
        - WEEKDAY_WEDNESDAY
        - WEEKDAY_THURSDAY
        - WEEKDAY_FRIDAY
        - WEEKDAY_SATURDAY
        - WEEKDAY_SUNDAY
      type: string
    EventRecurrenceSource.Strategy.Instant:
      type: object
      properties:
        startTimeHour:
          type: integer
          format: int32
    EventRecurrenceSource.Strategy.Duration:
      type: object
      properties:
        duration:
          type: string
        startTimeHour:
          type: integer
          format: int32
    LogsSource.Strategy.Instant:
      type: object
      properties:
        timestampField:
          $ref: '#/components/schemas/ObservationField'
    LogsSource.Strategy.Range:
      type: object
      properties:
        endTimestampField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    LogsSource.Strategy.Duration:
      type: object
      properties:
        durationField:
          $ref: '#/components/schemas/ObservationField'
        startTimestampField:
          $ref: '#/components/schemas/ObservationField'
    Filter.Equals:
      title: Equals
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/Equals.Selection'
      description: This data structure represents an equality comparison operation.
      externalDocs:
        url: ''
    Filter.NotEquals:
      title: NotEquals
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/NotEquals.Selection'
      description: This data structure represents a non-equality comparison operation.
      externalDocs:
        url: ''
    MetadataField:
      enum:
        - METADATA_FIELD_UNSPECIFIED
        - METADATA_FIELD_APPLICATION_NAME
        - METADATA_FIELD_SUBSYSTEM_NAME
        - METADATA_FIELD_SERVICE_NAME
        - METADATA_FIELD_OPERATION_NAME
      type: string
    SectionPredefinedColor:
      enum:
        - SECTION_PREDEFINED_COLOR_UNSPECIFIED
        - SECTION_PREDEFINED_COLOR_CYAN
        - SECTION_PREDEFINED_COLOR_GREEN
        - SECTION_PREDEFINED_COLOR_BLUE
        - SECTION_PREDEFINED_COLOR_PURPLE
        - SECTION_PREDEFINED_COLOR_MAGENTA
        - SECTION_PREDEFINED_COLOR_PINK
        - SECTION_PREDEFINED_COLOR_ORANGE
      type: string
    Hexagon:
      type: object
      properties:
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set as UNIT_CUSTOM to take
            effect)
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 2
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        legendBy:
          $ref: '#/components/schemas/LegendBy'
        max:
          type: number
          description: >-
            A maximum value used in percentage threshold calculation and for
            visual value representation
          format: double
          example: 150000
        min:
          type: number
          description: >-
            A minimum value used in percentage threshold calculation and for
            visual value representation
          format: double
          example: 0
        query:
          $ref: '#/components/schemas/Hexagon.Query'
        thresholdType:
          $ref: '#/components/schemas/ThresholdType'
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/common.Threshold'
        unit:
          $ref: '#/components/schemas/common.Unit'
    widgets.Dynamic:
      type: object
      properties:
        interpretation:
          $ref: '#/components/schemas/Interpretation'
        query:
          $ref: '#/components/schemas/Dynamic.Query'
        queryDefinitions:
          type: array
          items:
            $ref: '#/components/schemas/Dynamic.QueryDefinition'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
        visualization:
          $ref: '#/components/schemas/Visualization'
    DataTable:
      type: object
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/DataTable.Column'
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        orderBy:
          $ref: '#/components/schemas/OrderingField'
        query:
          $ref: '#/components/schemas/DataTable.Query'
        resultsPerPage:
          type: integer
          description: How many results are displayed per table page
          format: int32
          example: 10
        rowStyle:
          $ref: '#/components/schemas/RowStyle'
    widgets.PieChart:
      type: object
      properties:
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
        customUnit:
          type: string
          description: >-
            Custom unit (requires the unit field to be set to custom to take
            effect)
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 5
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        groupNameTemplate:
          type: string
          description: Custom template name for a group, can contain variables
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        labelDefinition:
          $ref: '#/components/schemas/widgets.PieChart.LabelDefinition'
        legend:
          $ref: '#/components/schemas/Legend'
        maxSlicesPerChart:
          type: integer
          description: Maximum number of slices on a chart
          format: int32
          example: 24
        minSlicePercentage:
          type: integer
          description: Minimum percentage threshold for slices to be displayed
          format: int32
          example: 5
        query:
          $ref: '#/components/schemas/PieChart.Query'
        showLegend:
          type: boolean
          description: Indicates whether to display the legend
        showTotal:
          type: boolean
          description: Whether to show the total amount as a title
          example: false
        stackDefinition:
          $ref: '#/components/schemas/PieChart.StackDefinition'
        unit:
          $ref: '#/components/schemas/common.Unit'
    Markdown:
      type: object
      properties:
        markdownText:
          type: string
          description: Markdown text
        tooltipText:
          type: string
          description: Tooltip text to display on widget hover
    LineChart:
      title: LineChart
      required:
        - queryDefinitions
      type: object
      properties:
        connectNulls:
          type: boolean
          description: >-
            Whether the line should remain connected instead of producing
            scattered points when null values are present in between
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        queryDefinitions:
          type: array
          items:
            $ref: '#/components/schemas/LineChart.QueryDefinition'
        stackedLine:
          $ref: '#/components/schemas/LineChart.StackedLine'
        tooltip:
          $ref: '#/components/schemas/Tooltip'
      description: LineChart represents the configuration of a line chart widget.
      externalDocs:
        url: ''
    widgets.Gauge:
      type: object
      properties:
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set as 'custom' to take
            effect)
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 3
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        displaySeriesName:
          type: boolean
          description: >-
            (multigauge display only) Whether to show the series names above the
            value
        legend:
          $ref: '#/components/schemas/Legend'
        legendBy:
          $ref: '#/components/schemas/LegendBy'
        max:
          type: number
          description: >-
            A maximum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 150000
        min:
          type: number
          description: >-
            A minimum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 0
        query:
          $ref: '#/components/schemas/Gauge.Query'
        showInnerArc:
          type: boolean
          description: >-
            Whether to show the inner arc of gauge which graphically represents
            the value
          example: false
        showOuterArc:
          type: boolean
          description: >-
            Whether to show the outer arc of gauge which graphically represents
            the min/max range
          example: true
        thresholdBy:
          $ref: '#/components/schemas/Gauge.ThresholdBy'
        thresholdType:
          $ref: '#/components/schemas/ThresholdType'
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/Gauge.Threshold'
        unit:
          $ref: '#/components/schemas/Gauge.Unit'
    BarChart:
      title: BarChart
      type: object
      properties:
        barValueDisplay:
          $ref: '#/components/schemas/widgets.BarValueDisplay'
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
          example: classic
        colorsBy:
          $ref: '#/components/schemas/ColorsBy'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set to custom to take
            effect)
          example: mph
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        groupNameTemplate:
          type: string
          description: Custom template name for a bar group, can contain variables
          example: Result - {{ variable }}
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        maxBarsPerChart:
          type: integer
          description: Maximum number of bars on a chart
          format: int32
          example: 20
        query:
          $ref: '#/components/schemas/BarChart.Query'
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        sortBy:
          $ref: '#/components/schemas/SortByType'
        stackDefinition:
          $ref: '#/components/schemas/BarChart.StackDefinition'
        unit:
          $ref: '#/components/schemas/common.Unit'
        xAxis:
          $ref: '#/components/schemas/XAxis'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
      description: BarChart represents the configuration of a vertical bar chart widget.
      externalDocs:
        url: ''
    HorizontalBarChart:
      type: object
      properties:
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
        colorsBy:
          $ref: '#/components/schemas/ColorsBy'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set to custom to take
            effect)
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        displayOnBar:
          type: boolean
          description: Specifies where to display the bar value
        groupNameTemplate:
          type: string
          description: Custom template name for a bar group, can contain variables
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        maxBarsPerChart:
          type: integer
          description: Maximum number of bars on a chart
          format: int32
          example: 20
        query:
          $ref: '#/components/schemas/HorizontalBarChart.Query'
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        sortBy:
          $ref: '#/components/schemas/SortByType'
        stackDefinition:
          $ref: '#/components/schemas/HorizontalBarChart.StackDefinition'
        unit:
          $ref: '#/components/schemas/common.Unit'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
        yAxisViewBy:
          $ref: '#/components/schemas/HorizontalBarChart.YAxisViewBy'
    MultiSelect.Selection.AllSelection:
      type: object
    MultiSelect.Selection.ListSelection:
      type: object
      properties:
        labels:
          type: array
          items:
            type: string
        values:
          type: array
          items:
            type: string
    LogsPathSource:
      type: object
      properties:
        observationField:
          $ref: '#/components/schemas/ObservationField'
        value:
          type: string
    MetricLabelSource:
      type: object
      properties:
        label:
          type: string
        metricName:
          type: string
    ConstantListSource:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
    SpanFieldSource:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/SpanField'
    MultiSelect.QuerySource:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/MultiSelect.Query'
        refreshStrategy:
          $ref: '#/components/schemas/MultiSelect.RefreshStrategy'
        valueDisplayOptions:
          $ref: '#/components/schemas/MultiSelect.ValueDisplayOptions'
    QuerySource.LogsQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QuerySourceLogsQueryTypeFieldName'
        - $ref: '#/components/schemas/QuerySourceLogsQueryTypeFieldValue'
    QuerySource.MetricsQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QuerySourceMetricsQueryTypeMetricName'
        - $ref: '#/components/schemas/QuerySourceMetricsQueryTypeLabelName'
        - $ref: '#/components/schemas/QuerySourceMetricsQueryTypeLabelValue'
    QuerySource.SpansQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QuerySourceSpansQueryTypeFieldName'
        - $ref: '#/components/schemas/QuerySourceSpansQueryTypeFieldValue'
    DataprimeQuery.Type:
      type: object
      properties:
        queryText:
          $ref: '#/components/schemas/QueryText'
    TextboxDefaultLuceneValue:
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/v1.common.DataModeType'
        value:
          type: string
    TextboxDefaultRegexValue:
      type: object
      properties:
        value:
          type: string
    TextboxDefaultIntervalValue:
      type: object
      properties:
        value:
          type: string
    TextboxDefaultStringValue:
      type: object
      properties:
        value:
          type: string
    TextboxDefaultNumericValue:
      type: object
      properties:
        isInteger:
          type: boolean
        max:
          type: number
          format: float
        min:
          type: number
          format: float
        value:
          type: number
          format: float
    common.Unit:
      enum:
        - UNIT_UNSPECIFIED
        - UNIT_MICROSECONDS
        - UNIT_MILLISECONDS
        - UNIT_SECONDS
        - UNIT_BYTES
        - UNIT_KBYTES
        - UNIT_MBYTES
        - UNIT_GBYTES
        - UNIT_BYTES_IEC
        - UNIT_KIBYTES
        - UNIT_MIBYTES
        - UNIT_GIBYTES
        - UNIT_EUR_CENTS
        - UNIT_EUR
        - UNIT_USD_CENTS
        - UNIT_USD
        - UNIT_NANOSECONDS
        - UNIT_CUSTOM
        - UNIT_PERCENT_ZERO_ONE
        - UNIT_PERCENT_ZERO_HUNDRED
        - UNIT_PERCENT
      type: string
    Equals.Selection:
      oneOf:
        - $ref: '#/components/schemas/EqualsSelectionAll'
        - $ref: '#/components/schemas/EqualsSelectionList'
    NotEquals.Selection:
      title: Selection
      type: object
      properties:
        list:
          $ref: '#/components/schemas/NotEquals.Selection.ListSelection'
      description: This data structure defines the values for the non-equality comparison.
      externalDocs:
        url: ''
    widgets.common.DataModeType:
      enum:
        - DATA_MODE_TYPE_HIGH_UNSPECIFIED
        - DATA_MODE_TYPE_ARCHIVE
      type: string
    Legend:
      type: object
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/LegendColumn'
          example:
            - 1
            - 2
            - 6
        groupByQuery:
          type: boolean
          description: >-
            In case of multiple queries, whether legend items should be grouped
            by their respective queries
        isVisible:
          type: boolean
          description: Is the legend visible in the widget
        placement:
          $ref: '#/components/schemas/LegendPlacement'
    LegendBy:
      enum:
        - LEGEND_BY_UNSPECIFIED
        - LEGEND_BY_THRESHOLDS
        - LEGEND_BY_GROUPS
      type: string
    Hexagon.Query:
      oneOf:
        - $ref: '#/components/schemas/HexagonQuerySpans'
        - $ref: '#/components/schemas/HexagonQueryDataprime'
        - $ref: '#/components/schemas/HexagonQueryMetrics'
        - $ref: '#/components/schemas/HexagonQueryLogs'
    ThresholdType:
      enum:
        - THRESHOLD_TYPE_UNSPECIFIED
        - THRESHOLD_TYPE_RELATIVE
        - THRESHOLD_TYPE_ABSOLUTE
      type: string
    common.Threshold:
      title: Threshold
      type: object
      properties:
        color:
          type: string
          description: Color of the threshold
        from:
          type: number
          description: Minimum bound value of the threshold
          format: double
        label:
          type: string
          description: Optional label of the threshold
      description: Definition of a single gauge threshold
      externalDocs:
        url: ''
    Interpretation:
      enum:
        - INTERPRETATION_UNSPECIFIED
        - INTERPRETATION_RAW_DATA_TABLE
        - INTERPRETATION_TREND_OVER_TIME_LINE
        - INTERPRETATION_SINGLE_VALUE_KPI
        - INTERPRETATION_MULTI_VALUE_KPI
        - INTERPRETATION_CATEGORICAL_ANALYSIS_VERTICAL_BARS
        - INTERPRETATION_SINGLE_VALUE_KPI_STAT
        - INTERPRETATION_SINGLE_VALUE_KPI_GAUGE
        - INTERPRETATION_MULTI_VALUE_KPI_STAT
        - INTERPRETATION_MULTI_VALUE_KPI_GAUGE
        - INTERPRETATION_MULTI_VALUE_KPI_HEXAGON_BINS
        - INTERPRETATION_CATEGORICAL_ANALYSIS_PIE_CHART
        - INTERPRETATION_CATEGORICAL_ANALYSIS_HORIZONTAL_BARS
      type: string
    Dynamic.Query:
      oneOf:
        - $ref: '#/components/schemas/DynamicQuerySpans'
        - $ref: '#/components/schemas/DynamicQueryMetrics'
        - $ref: '#/components/schemas/DynamicQueryDataprime'
        - $ref: '#/components/schemas/DynamicQueryLogs'
    Dynamic.QueryDefinition:
      title: QueryDefinition
      required:
        - id
        - query
      type: object
      properties:
        id:
          type: string
          description: Unique id of the query definition
        name:
          type: string
          description: Custom name of the query
        query:
          $ref: '#/components/schemas/Dynamic.Query'
      description: Query definition for dynamic widget
      externalDocs:
        url: ''
    TimeFrameSelect:
      oneOf:
        - $ref: '#/components/schemas/TimeFrameSelectAbsoluteTimeFrame'
        - $ref: '#/components/schemas/TimeFrameSelectRelativeTimeFrame'
    Visualization:
      oneOf:
        - $ref: '#/components/schemas/VisualizationPieChart'
        - $ref: '#/components/schemas/VisualizationHorizontalBars'
        - $ref: '#/components/schemas/VisualizationVerticalBars'
        - $ref: '#/components/schemas/VisualizationHeatmap'
        - $ref: '#/components/schemas/VisualizationTimeSeriesLines'
        - $ref: '#/components/schemas/VisualizationStat'
        - $ref: '#/components/schemas/VisualizationGeomap'
        - $ref: '#/components/schemas/VisualizationTimeSeriesLinesMulti'
        - $ref: '#/components/schemas/VisualizationTable'
        - $ref: '#/components/schemas/VisualizationTimeSeriesBars'
        - $ref: '#/components/schemas/VisualizationGauge'
        - $ref: '#/components/schemas/VisualizationHexagonBins'
    DataTable.Column:
      type: object
      properties:
        field:
          type: string
          description: Name of the field to display in the column
        width:
          type: integer
          description: Custom width of the column, by default it's automatically adjusted
          format: int32
    OrderingField:
      type: object
      properties:
        field:
          type: string
          description: Field name to order by
        orderDirection:
          $ref: '#/components/schemas/OrderDirection'
    DataTable.Query:
      oneOf:
        - $ref: '#/components/schemas/DataTableQueryLogs'
        - $ref: '#/components/schemas/DataTableQuerySpans'
        - $ref: '#/components/schemas/DataTableQueryMetrics'
        - $ref: '#/components/schemas/DataTableQueryDataprime'
    RowStyle:
      enum:
        - ROW_STYLE_UNSPECIFIED
        - ROW_STYLE_ONE_LINE
        - ROW_STYLE_TWO_LINE
        - ROW_STYLE_CONDENSED
        - ROW_STYLE_JSON
        - ROW_STYLE_LIST
      type: string
    widgets.PieChart.LabelDefinition:
      type: object
      properties:
        isVisible:
          type: boolean
          description: Are labels visible
        labelSource:
          $ref: '#/components/schemas/widgets.PieChart.LabelSource'
        showName:
          type: boolean
          description: Whether to show the name of slice in the label
        showPercentage:
          type: boolean
          description: Whether to show percentage value of slice in the label
        showValue:
          type: boolean
          description: Whether to show value of slice in the label
    PieChart.Query:
      oneOf:
        - $ref: '#/components/schemas/PieChartQueryLogs'
        - $ref: '#/components/schemas/PieChartQuerySpans'
        - $ref: '#/components/schemas/PieChartQueryMetrics'
        - $ref: '#/components/schemas/PieChartQueryDataprime'
    PieChart.StackDefinition:
      type: object
      properties:
        maxSlicesPerStack:
          type: integer
          description: How many slices can fit in a single slice stack
          format: int32
        stackNameTemplate:
          type: string
          description: Custom template name of an individual slice in the stack
    LineChart.QueryDefinition:
      title: LineChart
      required:
        - id
        - query
      type: object
      properties:
        colorScheme:
          type: string
          description: Applied color scheme for this query, one of the predefined values
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        decimal:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        decimalPrecision:
          type: boolean
          description: Whether to render numeric value without abbreviation
          example: false
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        id:
          type: string
          description: Unique id of the query definition
        intervalResolution:
          $ref: '#/components/schemas/IntervalResolution'
        isVisible:
          type: boolean
          description: Is the query visible
          example: true
        name:
          type: string
          description: Custom name of the query
        query:
          $ref: '#/components/schemas/LineChart.Query'
        resolution:
          $ref: '#/components/schemas/LineChart.Resolution'
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        seriesCountLimit:
          type: string
          description: Max count of the series per query
          format: int64
        seriesNameTemplate:
          type: string
          description: Custom template for the series name
        unit:
          $ref: '#/components/schemas/common.Unit'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
      description: LineChart represents the configuration of a line chart widget.
      externalDocs:
        url: ''
    LineChart.StackedLine:
      enum:
        - STACKED_LINE_UNSPECIFIED
        - STACKED_LINE_ABSOLUTE
        - STACKED_LINE_RELATIVE
      type: string
    Tooltip:
      type: object
      properties:
        showLabels:
          type: boolean
          example: true
        type:
          $ref: '#/components/schemas/TooltipType'
    Gauge.Query:
      oneOf:
        - $ref: '#/components/schemas/GaugeQueryDataprime'
        - $ref: '#/components/schemas/GaugeQueryMetrics'
        - $ref: '#/components/schemas/GaugeQueryLogs'
        - $ref: '#/components/schemas/GaugeQuerySpans'
    Gauge.ThresholdBy:
      enum:
        - THRESHOLD_BY_UNSPECIFIED
        - THRESHOLD_BY_VALUE
        - THRESHOLD_BY_BACKGROUND
      type: string
    Gauge.Threshold:
      title: Threshold
      type: object
      properties:
        color:
          type: string
          description: Color of the threshold
        from:
          type: number
          description: Minimum bound value of the threshold
          format: double
        label:
          type: string
          description: Optional label of the threshold
      description: Definition of a single gauge threshold
      externalDocs:
        url: ''
    Gauge.Unit:
      enum:
        - UNIT_UNSPECIFIED
        - UNIT_NUMBER
        - UNIT_PERCENT
        - UNIT_MICROSECONDS
        - UNIT_MILLISECONDS
        - UNIT_SECONDS
        - UNIT_BYTES
        - UNIT_KBYTES
        - UNIT_MBYTES
        - UNIT_GBYTES
        - UNIT_BYTES_IEC
        - UNIT_KIBYTES
        - UNIT_MIBYTES
        - UNIT_GIBYTES
        - UNIT_EUR_CENTS
        - UNIT_EUR
        - UNIT_USD_CENTS
        - UNIT_USD
        - UNIT_CUSTOM
        - UNIT_PERCENT_ZERO_ONE
        - UNIT_PERCENT_ZERO_HUNDRED
        - UNIT_NANOSECONDS
      type: string
    widgets.BarValueDisplay:
      enum:
        - BAR_VALUE_DISPLAY_UNSPECIFIED
        - BAR_VALUE_DISPLAY_TOP
        - BAR_VALUE_DISPLAY_INSIDE
        - BAR_VALUE_DISPLAY_BOTH
      type: string
    ColorsBy:
      oneOf:
        - $ref: '#/components/schemas/ColorsByStack'
        - $ref: '#/components/schemas/ColorsByGroupBy'
        - $ref: '#/components/schemas/ColorsByAggregation'
    BarChart.Query:
      oneOf:
        - $ref: '#/components/schemas/BarChartQueryLogs'
        - $ref: '#/components/schemas/BarChartQuerySpans'
        - $ref: '#/components/schemas/BarChartQueryMetrics'
        - $ref: '#/components/schemas/BarChartQueryDataprime'
    ScaleType:
      enum:
        - SCALE_TYPE_UNSPECIFIED
        - SCALE_TYPE_LINEAR
        - SCALE_TYPE_LOGARITHMIC
      type: string
    SortByType:
      enum:
        - SORT_BY_TYPE_UNSPECIFIED
        - SORT_BY_TYPE_VALUE
        - SORT_BY_TYPE_NAME
      type: string
    BarChart.StackDefinition:
      type: object
      properties:
        maxSlicesPerBar:
          type: integer
          description: How many slices can fit in a single bar
          format: int32
        stackNameTemplate:
          type: string
          description: Custom template name of an individual stack
    XAxis:
      oneOf:
        - $ref: '#/components/schemas/XAxisValue'
        - $ref: '#/components/schemas/XAxisTime'
        - $ref: '#/components/schemas/XAxisTimeBuckets'
    HorizontalBarChart.Query:
      oneOf:
        - $ref: '#/components/schemas/HorizontalBarChartQueryLogs'
        - $ref: '#/components/schemas/HorizontalBarChartQuerySpans'
        - $ref: '#/components/schemas/HorizontalBarChartQueryMetrics'
        - $ref: '#/components/schemas/HorizontalBarChartQueryDataprime'
    HorizontalBarChart.StackDefinition:
      type: object
      properties:
        maxSlicesPerBar:
          type: integer
          description: How many slices can fit in a single bar
          format: int32
        stackNameTemplate:
          type: string
          description: Custom template name of an individual stack
    HorizontalBarChart.YAxisViewBy:
      oneOf:
        - $ref: '#/components/schemas/HorizontalBarChartYAxisViewByCategory'
        - $ref: '#/components/schemas/HorizontalBarChartYAxisViewByValue'
    MultiSelect.Query:
      oneOf:
        - $ref: '#/components/schemas/MultiSelectQueryLogsQuery'
        - $ref: '#/components/schemas/MultiSelectQueryMetricsQuery'
        - $ref: '#/components/schemas/MultiSelectQuerySpansQuery'
    MultiSelect.RefreshStrategy:
      enum:
        - REFRESH_STRATEGY_UNSPECIFIED
        - REFRESH_STRATEGY_ON_DASHBOARD_LOAD
        - REFRESH_STRATEGY_ON_TIME_FRAME_CHANGE
      type: string
    MultiSelect.ValueDisplayOptions:
      type: object
      properties:
        labelRegex:
          type: string
        valueRegex:
          type: string
    QuerySourceLogsQueryTypeFieldName:
      type: object
      properties:
        fieldName:
          $ref: '#/components/schemas/QuerySource.LogsQuery.Type.FieldName'
      additionalProperties: false
    QuerySourceLogsQueryTypeFieldValue:
      type: object
      properties:
        fieldValue:
          $ref: '#/components/schemas/QuerySource.LogsQuery.Type.FieldValue'
      additionalProperties: false
    QuerySourceMetricsQueryTypeMetricName:
      type: object
      properties:
        metricName:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Type.MetricName'
      additionalProperties: false
    QuerySourceMetricsQueryTypeLabelName:
      type: object
      properties:
        labelName:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Type.LabelName'
      additionalProperties: false
    QuerySourceMetricsQueryTypeLabelValue:
      type: object
      properties:
        labelValue:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Type.LabelValue'
      additionalProperties: false
    QuerySourceSpansQueryTypeFieldName:
      type: object
      properties:
        fieldName:
          $ref: '#/components/schemas/QuerySource.SpansQuery.Type.FieldName'
      additionalProperties: false
    QuerySourceSpansQueryTypeFieldValue:
      type: object
      properties:
        fieldValue:
          $ref: '#/components/schemas/QuerySource.SpansQuery.Type.FieldValue'
      additionalProperties: false
    QueryText:
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/v1.common.DataModeType'
        query:
          $ref: '#/components/schemas/common.DataprimeQuery'
    EqualsSelectionAll:
      title: Selection
      type: object
      properties:
        all:
          $ref: '#/components/schemas/Equals.Selection.AllSelection'
      additionalProperties: false
      description: This data structure defines the values for the equality comparison.
      externalDocs:
        url: ''
    EqualsSelectionList:
      title: Selection
      type: object
      properties:
        list:
          $ref: '#/components/schemas/Equals.Selection.ListSelection'
      additionalProperties: false
      description: This data structure defines the values for the equality comparison.
      externalDocs:
        url: ''
    NotEquals.Selection.ListSelection:
      title: ListSelection
      type: object
      properties:
        values:
          type: array
          items:
            type: string
            description: A list of values for the selection.
      description: >-
        This data structure represents a selection from a list of specific
        values.
      externalDocs:
        url: ''
    LegendColumn:
      enum:
        - LEGEND_COLUMN_UNSPECIFIED
        - LEGEND_COLUMN_MIN
        - LEGEND_COLUMN_MAX
        - LEGEND_COLUMN_SUM
        - LEGEND_COLUMN_AVG
        - LEGEND_COLUMN_LAST
        - LEGEND_COLUMN_NAME
        - LEGEND_COLUMN_SIMPLE_VALUE
      type: string
    LegendPlacement:
      enum:
        - LEGEND_PLACEMENT_UNSPECIFIED
        - LEGEND_PLACEMENT_AUTO
        - LEGEND_PLACEMENT_BOTTOM
        - LEGEND_PLACEMENT_SIDE
        - LEGEND_PLACEMENT_HIDDEN
      type: string
    HexagonQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/Hexagon.SpansQuery'
      additionalProperties: false
    HexagonQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/Hexagon.DataprimeQuery'
      additionalProperties: false
    HexagonQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/Hexagon.MetricsQuery'
      additionalProperties: false
    HexagonQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/Hexagon.LogsQuery'
      additionalProperties: false
    DynamicQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/Spans'
      additionalProperties: false
    DynamicQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/Metrics'
      additionalProperties: false
    DynamicQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/Dataprime'
      additionalProperties: false
    DynamicQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/Logs'
      additionalProperties: false
    TimeFrameSelectAbsoluteTimeFrame:
      type: object
      properties:
        absoluteTimeFrame:
          $ref: '#/components/schemas/TimeFrame'
      additionalProperties: false
    TimeFrameSelectRelativeTimeFrame:
      type: object
      properties:
        relativeTimeFrame:
          type: string
      additionalProperties: false
    VisualizationPieChart:
      type: object
      properties:
        pieChart:
          $ref: '#/components/schemas/Visualization.PieChart'
      additionalProperties: false
    VisualizationHorizontalBars:
      type: object
      properties:
        horizontalBars:
          $ref: '#/components/schemas/HorizontalBars'
      additionalProperties: false
    VisualizationVerticalBars:
      type: object
      properties:
        verticalBars:
          $ref: '#/components/schemas/VerticalBars'
      additionalProperties: false
    VisualizationHeatmap:
      type: object
      properties:
        heatmap:
          $ref: '#/components/schemas/Heatmap'
      additionalProperties: false
    VisualizationTimeSeriesLines:
      type: object
      properties:
        timeSeriesLines:
          $ref: '#/components/schemas/TimeSeriesLines'
      additionalProperties: false
    VisualizationStat:
      type: object
      properties:
        stat:
          $ref: '#/components/schemas/Stat'
      additionalProperties: false
    VisualizationGeomap:
      type: object
      properties:
        geomap:
          $ref: '#/components/schemas/Geomap'
      additionalProperties: false
    VisualizationTimeSeriesLinesMulti:
      type: object
      properties:
        timeSeriesLinesMulti:
          $ref: '#/components/schemas/TimeSeriesLinesMulti'
      additionalProperties: false
    VisualizationTable:
      type: object
      properties:
        table:
          $ref: '#/components/schemas/Table'
      additionalProperties: false
    VisualizationTimeSeriesBars:
      type: object
      properties:
        timeSeriesBars:
          $ref: '#/components/schemas/TimeSeriesBars'
      additionalProperties: false
    VisualizationGauge:
      type: object
      properties:
        gauge:
          $ref: '#/components/schemas/Visualization.Gauge'
      additionalProperties: false
    VisualizationHexagonBins:
      type: object
      properties:
        hexagonBins:
          $ref: '#/components/schemas/HexagonBins'
      additionalProperties: false
    DataTableQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/DataTable.LogsQuery'
      additionalProperties: false
    DataTableQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/DataTable.SpansQuery'
      additionalProperties: false
    DataTableQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/DataTable.MetricsQuery'
      additionalProperties: false
    DataTableQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/DataTable.DataprimeQuery'
      additionalProperties: false
    widgets.PieChart.LabelSource:
      enum:
        - LABEL_SOURCE_UNSPECIFIED
        - LABEL_SOURCE_INNER
        - LABEL_SOURCE_STACK
      type: string
    PieChartQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/PieChart.LogsQuery'
      additionalProperties: false
    PieChartQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/PieChart.SpansQuery'
      additionalProperties: false
    PieChartQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/PieChart.MetricsQuery'
      additionalProperties: false
    PieChartQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/PieChart.DataprimeQuery'
      additionalProperties: false
    IntervalResolution:
      oneOf:
        - $ref: '#/components/schemas/IntervalResolutionAuto'
        - $ref: '#/components/schemas/IntervalResolutionManual'
    LineChart.Query:
      oneOf:
        - $ref: '#/components/schemas/LineChartQueryDataprime'
        - $ref: '#/components/schemas/LineChartQueryLogs'
        - $ref: '#/components/schemas/LineChartQueryMetrics'
        - $ref: '#/components/schemas/LineChartQuerySpans'
    LineChart.Resolution:
      title: Resolution
      type: object
      properties:
        bucketsPresented:
          type: integer
          description: How many buckets to present in the selected timeframe (deprecated)
          format: int32
        interval:
          type: string
          description: >-
            Interval of value sampling, i.e. every 5 minutes, every 1 second and
            so on (deprecated)
      description: >-
        Resolution settings for query values. (deprecated, use
        interval_resolution instead).
      externalDocs:
        url: ''
    TooltipType:
      enum:
        - TOOLTIP_TYPE_UNSPECIFIED
        - TOOLTIP_TYPE_ALL
        - TOOLTIP_TYPE_SINGLE
      type: string
    GaugeQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/Gauge.DataprimeQuery'
      additionalProperties: false
    GaugeQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/Gauge.MetricsQuery'
      additionalProperties: false
    GaugeQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/Gauge.LogsQuery'
      additionalProperties: false
    GaugeQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/Gauge.SpansQuery'
      additionalProperties: false
    ColorsByStack:
      type: object
      properties:
        stack:
          $ref: '#/components/schemas/ColorsByStack'
      additionalProperties: false
    ColorsByGroupBy:
      type: object
      properties:
        groupBy:
          $ref: '#/components/schemas/ColorsByGroupBy'
      additionalProperties: false
    ColorsByAggregation:
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/ColorsByAggregation'
      additionalProperties: false
    BarChartQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/BarChart.LogsQuery'
      additionalProperties: false
    BarChartQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/BarChart.SpansQuery'
      additionalProperties: false
    BarChartQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/BarChart.MetricsQuery'
      additionalProperties: false
    BarChartQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/BarChart.DataprimeQuery'
      additionalProperties: false
    XAxisValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/XAxisByValue'
      additionalProperties: false
    XAxisTime:
      type: object
      properties:
        time:
          $ref: '#/components/schemas/XAxisByTime'
      additionalProperties: false
    XAxisTimeBuckets:
      type: object
      properties:
        timeBuckets:
          $ref: '#/components/schemas/IntervalResolution'
      additionalProperties: false
    HorizontalBarChartQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/HorizontalBarChart.LogsQuery'
      additionalProperties: false
    HorizontalBarChartQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/HorizontalBarChart.SpansQuery'
      additionalProperties: false
    HorizontalBarChartQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/HorizontalBarChart.MetricsQuery'
      additionalProperties: false
    HorizontalBarChartQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/HorizontalBarChart.DataprimeQuery'
      additionalProperties: false
    HorizontalBarChartYAxisViewByCategory:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/YAxisViewByCategory'
      additionalProperties: false
    HorizontalBarChartYAxisViewByValue:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/YAxisViewByValue'
      additionalProperties: false
    MultiSelectQueryLogsQuery:
      type: object
      properties:
        logsQuery:
          $ref: '#/components/schemas/Query.LogsQuery'
      additionalProperties: false
    MultiSelectQueryMetricsQuery:
      type: object
      properties:
        metricsQuery:
          $ref: '#/components/schemas/Query.MetricsQuery'
      additionalProperties: false
    MultiSelectQuerySpansQuery:
      type: object
      properties:
        spansQuery:
          $ref: '#/components/schemas/Query.SpansQuery'
      additionalProperties: false
    QuerySource.LogsQuery.Type.FieldName:
      type: object
      properties:
        logRegex:
          type: string
    QuerySource.LogsQuery.Type.FieldValue:
      type: object
      properties:
        observationField:
          $ref: '#/components/schemas/ObservationField'
    QuerySource.MetricsQuery.Type.MetricName:
      type: object
      properties:
        metricRegex:
          type: string
    QuerySource.MetricsQuery.Type.LabelName:
      type: object
      properties:
        metricRegex:
          type: string
    QuerySource.MetricsQuery.Type.LabelValue:
      type: object
      properties:
        labelFilters:
          type: array
          items:
            $ref: '#/components/schemas/QuerySource.MetricsQuery.MetricsLabelFilter'
        labelName:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.StringOrVariable'
        metricName:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.StringOrVariable'
    QuerySource.SpansQuery.Type.FieldName:
      type: object
      properties:
        spanRegex:
          type: string
    QuerySource.SpansQuery.Type.FieldValue:
      type: object
      properties:
        observationField:
          $ref: '#/components/schemas/ObservationField'
        value:
          $ref: '#/components/schemas/SpanField'
    Equals.Selection.AllSelection:
      title: AllSelection
      type: object
      description: This data structure indicates that all values are selected.
      externalDocs:
        url: ''
    Equals.Selection.ListSelection:
      title: ListSelection
      type: object
      properties:
        values:
          type: array
          items:
            type: string
            description: A list of selected values.
      description: >-
        This data structure represents a selection from a list of specific
        values.
      externalDocs:
        url: ''
    Hexagon.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        spansAggregation:
          $ref: '#/components/schemas/SpansAggregation'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    Hexagon.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    Hexagon.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/common.Aggregation'
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    Hexagon.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        logsAggregation:
          $ref: '#/components/schemas/LogsAggregation'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    Spans:
      title: SpansQuery
      type: object
      properties:
        aggregation:
          type: array
          items:
            $ref: '#/components/schemas/LogsAggregation'
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
      description: A spans variant of the query
      externalDocs:
        url: ''
    Metrics:
      title: MetricsQuery
      type: object
      properties:
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        seriesLimitType:
          $ref: '#/components/schemas/MetricsSeriesLimitType'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    Dataprime:
      title: DataprimeQuery
      type: object
      properties:
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    Logs:
      title: LogsQuery
      type: object
      properties:
        aggregation:
          type: array
          items:
            $ref: '#/components/schemas/LogsAggregation'
        dataModeType:
          $ref: '#/components/schemas/widgets.common.DataModeType'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
      description: A logs variant of the query
      externalDocs:
        url: ''
    Visualization.PieChart:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
        customUnit:
          type: string
          description: >-
            Custom unit (requires the unit field to be set to custom to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 5
        groupNameTemplate:
          type: string
          description: Custom template name for a group, can contain variables
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        labelDefinition:
          $ref: '#/components/schemas/Visualization.PieChart.LabelDefinition'
        legend:
          $ref: '#/components/schemas/Legend'
        maxSlicesPerChart:
          type: integer
          description: Maximum number of slices on a chart
          format: int32
          example: 24
        maxSlicesPerStack:
          type: integer
          description: How many slices can fit in a single slice stack
          format: int32
        minSlicePercentage:
          type: integer
          description: Minimum percentage threshold for slices to be displayed
          format: int32
          example: 5
        showTotal:
          type: boolean
          description: Whether to show the total amount as a title
          example: false
        stackNameTemplate:
          type: string
          description: Custom template name of an individual slice in the stack
        subCategoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
    HorizontalBars:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
        colorsBy:
          $ref: '#/components/schemas/ColorsBy'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set to custom to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        displayOnBar:
          type: boolean
          description: Specifies where to display the bar value
        groupNameTemplate:
          type: string
          description: Custom template name for a group, can contain variables
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        maxBarsPerChart:
          type: integer
          description: Maximum number of bars on a chart
          format: int32
          example: 20
        maxSlicesPerBar:
          type: integer
          description: How many slices can fit in a single bar
          format: int32
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        sortBy:
          $ref: '#/components/schemas/SortByType'
        stackNameTemplate:
          type: string
          description: Custom template name of an individual stack
        subCategoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
        yAxisViewBy:
          $ref: '#/components/schemas/HorizontalBars.YAxisViewBy'
    VerticalBars:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        barValueDisplay:
          $ref: '#/components/schemas/Visualization.BarValueDisplay'
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme, one of the predefined values
        colorsBy:
          $ref: '#/components/schemas/ColorsBy'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set to custom to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        groupNameTemplate:
          type: string
          description: Custom template name for a group, can contain variables
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        maxBarsPerChart:
          type: integer
          description: Maximum number of bars on a chart
          format: int32
          example: 20
        maxSlicesPerBar:
          type: integer
          description: How many slices can fit in a single bar
          format: int32
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        sortBy:
          $ref: '#/components/schemas/SortByType'
        stackNameTemplate:
          type: string
          description: Custom template name of an individual stack
        subCategoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
    Heatmap:
      oneOf:
        - $ref: '#/components/schemas/HeatmapPreset'
        - $ref: '#/components/schemas/HeatmapColorRange'
    TimeSeriesLines:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme for this query, one of the predefined values
        connectNulls:
          type: boolean
          description: >-
            Whether the line should remain connected instead of producing
            scattered points when null values are present in between
          example: false
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        seriesCountLimit:
          type: string
          description: Max count of the series per query
          format: int64
        seriesNameTemplate:
          type: string
          description: Custom template for the series name
        stackedLine:
          $ref: '#/components/schemas/Visualization.StackedLine'
        temporalField:
          $ref: '#/components/schemas/ObservationField'
        tooltip:
          $ref: '#/components/schemas/TimeSeriesTooltip'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
    Stat:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set as UNIT_CUSTOM to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 2
        displaySeriesName:
          type: boolean
          description: >-
            (multi-stat display only) Whether to show the series names above the
            value
        legend:
          $ref: '#/components/schemas/Legend'
        legendBy:
          $ref: '#/components/schemas/LegendBy'
        max:
          type: number
          description: >-
            A maximum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 150000
        min:
          type: number
          description: >-
            A minimum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 0
        thresholdBy:
          $ref: '#/components/schemas/common.ThresholdBy'
        thresholdType:
          $ref: '#/components/schemas/ThresholdType'
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/common.Threshold'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        valueFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
    Geomap:
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/GeomapAggregation'
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        color:
          $ref: '#/components/schemas/GeomapColor'
        config:
          $ref: '#/components/schemas/GeomapFieldConfig'
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        minMax:
          $ref: '#/components/schemas/MinMax'
        tooltip:
          $ref: '#/components/schemas/GeomapTooltip'
        unit:
          $ref: '#/components/schemas/common.Unit'
    TimeSeriesLinesMulti:
      type: object
      properties:
        connectNulls:
          type: boolean
          description: >-
            Whether the line should remain connected instead of producing
            scattered points when null values are present in between
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        queryDisplaySettings:
          type: array
          items:
            $ref: '#/components/schemas/QueryDisplaySettings'
        stackedLine:
          $ref: '#/components/schemas/Visualization.StackedLine'
        tooltip:
          $ref: '#/components/schemas/TimeSeriesTooltip'
    Table:
      type: object
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/Table.Column'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Table.Rule'
        settings:
          $ref: '#/components/schemas/TableSettings'
    TimeSeriesBars:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        barValueDisplay:
          $ref: '#/components/schemas/Visualization.BarValueDisplay'
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme for this query, one of the predefined values
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        legend:
          $ref: '#/components/schemas/Legend'
        maxSlicesPerBar:
          type: integer
          description: How many slices can fit in a single bar
          format: int32
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        seriesNameTemplate:
          type: string
          description: Custom template for the series name
        sortBy:
          $ref: '#/components/schemas/SortByType'
        temporalField:
          $ref: '#/components/schemas/ObservationField'
        tooltip:
          $ref: '#/components/schemas/TimeSeriesTooltip'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
    Visualization.Gauge:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set as UNIT_CUSTOM to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 2
        displaySeriesName:
          type: boolean
          description: >-
            (multigauge display only) Whether to show the series names above the
            value
        legend:
          $ref: '#/components/schemas/Legend'
        legendBy:
          $ref: '#/components/schemas/LegendBy'
        max:
          type: number
          description: >-
            A maximum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 150000
        min:
          type: number
          description: >-
            A minimum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 0
        showInnerArc:
          type: boolean
          description: >-
            Whether to show the inner arc of gauge which graphically represents
            the value
          example: false
        showOuterArc:
          type: boolean
          description: >-
            Whether to show the outer arc of gauge which graphically represents
            the min/max range
          example: true
        thresholdType:
          $ref: '#/components/schemas/ThresholdType'
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/common.Threshold'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        valueFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
    HexagonBins:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        customUnit:
          type: string
          description: >-
            Custom unit (requires to have unit field set as UNIT_CUSTOM to take
            effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 2
        legend:
          $ref: '#/components/schemas/Legend'
        legendBy:
          $ref: '#/components/schemas/LegendBy'
        max:
          type: number
          description: >-
            A maximum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 150000
        min:
          type: number
          description: >-
            A minimum gauge value used in percentage threshold calculation and
            for visual value representation
          format: double
          example: 0
        thresholdType:
          $ref: '#/components/schemas/ThresholdType'
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/common.Threshold'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
    DataTable.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        grouping:
          $ref: '#/components/schemas/LogsQuery.Grouping'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    DataTable.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        grouping:
          $ref: '#/components/schemas/SpansQuery.Grouping'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    DataTable.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    DataTable.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    PieChart.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/LogsAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names to group the query results
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          type: string
          description: Field name by which results are stacked in individual group
        stackedGroupNameField:
          $ref: '#/components/schemas/ObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    PieChart.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/SpansAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupNames:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          $ref: '#/components/schemas/SpanField'
        stackedGroupNameField:
          $ref: '#/components/schemas/SpanObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    PieChart.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/common.Aggregation'
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which metric results are grouped
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    PieChart.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which results are grouped
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    IntervalResolutionAuto:
      title: IntervalResolution
      type: object
      properties:
        auto:
          $ref: '#/components/schemas/AutoIntervalResolution'
      additionalProperties: false
      description: >-
        Configuration for time bucket/interval resolution in time-series
        widgets. Supports automatic calculation based on widget width and time
        range, or manual interval specification.
      externalDocs:
        url: ''
    IntervalResolutionManual:
      title: IntervalResolution
      type: object
      properties:
        manual:
          $ref: '#/components/schemas/ManualIntervalResolution'
      additionalProperties: false
      description: >-
        Configuration for time bucket/interval resolution in time-series
        widgets. Supports automatic calculation based on widget width and time
        range, or manual interval specification.
      externalDocs:
        url: ''
    LineChartQueryDataprime:
      type: object
      properties:
        dataprime:
          $ref: '#/components/schemas/LineChart.DataprimeQuery'
      additionalProperties: false
    LineChartQueryLogs:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/LineChart.LogsQuery'
      additionalProperties: false
    LineChartQueryMetrics:
      type: object
      properties:
        metrics:
          $ref: '#/components/schemas/LineChart.MetricsQuery'
      additionalProperties: false
    LineChartQuerySpans:
      type: object
      properties:
        spans:
          $ref: '#/components/schemas/LineChart.SpansQuery'
      additionalProperties: false
    Gauge.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    Gauge.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/Gauge.Aggregation'
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    Gauge.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/Gauge.Aggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        logsAggregation:
          $ref: '#/components/schemas/LogsAggregation'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    Gauge.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/Gauge.Aggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        spansAggregation:
          $ref: '#/components/schemas/SpansAggregation'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    BarChart.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/LogsAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names to group the query results
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          type: string
          description: Field name by which results are stacked in individual group
        stackedGroupNameField:
          $ref: '#/components/schemas/ObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    BarChart.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/SpansAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupNames:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          $ref: '#/components/schemas/SpanField'
        stackedGroupNameField:
          $ref: '#/components/schemas/SpanObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    BarChart.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/common.Aggregation'
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which metric results are grouped
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    BarChart.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which results are grouped
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    XAxisByValue:
      type: object
    XAxisByTime:
      title: XAxisByTime
      type: object
      properties:
        bucketsPresented:
          type: integer
          description: How many buckets to present in the selected timeframe (deprecated)
          format: int32
        interval:
          type: string
          description: >-
            Interval of value sampling, i.e. every 5 minutes, every 1 second and
            so on (deprecated)
      description: X axis by time configuration. (deprecated, use time_buckets instead)
      externalDocs:
        url: ''
    HorizontalBarChart.LogsQuery:
      title: LogsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/LogsAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names to group the query results
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          type: string
          description: Field name by which results are stacked in individual group
        stackedGroupNameField:
          $ref: '#/components/schemas/ObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A logs variant of the query
      externalDocs:
        url: ''
    HorizontalBarChart.SpansQuery:
      title: SpansQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/SpansAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupNames:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupNamesFields:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        stackedGroupName:
          $ref: '#/components/schemas/SpanField'
        stackedGroupNameField:
          $ref: '#/components/schemas/SpanObservationField'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A spans variant of the query
      externalDocs:
        url: ''
    HorizontalBarChart.MetricsQuery:
      title: MetricsQuery
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/common.Aggregation'
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which metric results are grouped
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        promqlQueryType:
          $ref: '#/components/schemas/PromQLQueryType'
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A metrics variant of the query
      externalDocs:
        url: ''
    HorizontalBarChart.DataprimeQuery:
      title: DataprimeQuery
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        groupNames:
          type: array
          items:
            type: string
            description: List of field names by which results are grouped
        stackedGroupName:
          type: string
          description: Field name by which results in groups are divided into subgroups
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
      description: A Dataprime variant of the query
      externalDocs:
        url: ''
    YAxisViewByCategory:
      type: object
    YAxisViewByValue:
      type: object
    Query.LogsQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Query.LogsQuery.Type'
    Query.MetricsQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Query.MetricsQuery.Type'
    Query.SpansQuery:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Query.SpansQuery.Type'
    QuerySource.MetricsQuery.MetricsLabelFilter:
      type: object
      properties:
        label:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.StringOrVariable'
        metric:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.StringOrVariable'
        operator:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Operator'
    QuerySource.MetricsQuery.StringOrVariable:
      oneOf:
        - $ref: >-
            #/components/schemas/QuerySourceMetricsQueryStringOrVariableStringValue
        - $ref: >-
            #/components/schemas/QuerySourceMetricsQueryStringOrVariableVariableName
    SpansAggregation:
      oneOf:
        - $ref: '#/components/schemas/SpansAggregationMetricAggregation'
        - $ref: '#/components/schemas/SpansAggregationDimensionAggregation'
    common.Aggregation:
      enum:
        - AGGREGATION_UNSPECIFIED
        - AGGREGATION_LAST
        - AGGREGATION_MIN
        - AGGREGATION_MAX
        - AGGREGATION_AVG
        - AGGREGATION_SUM
      type: string
    MetricsQueryEditorMode:
      enum:
        - METRICS_QUERY_EDITOR_MODE_UNSPECIFIED
        - METRICS_QUERY_EDITOR_MODE_TEXT
        - METRICS_QUERY_EDITOR_MODE_BUILDER
      type: string
    PromQLQueryType:
      enum:
        - PROM_QL_QUERY_TYPE_UNSPECIFIED
        - PROM_QL_QUERY_TYPE_RANGE
        - PROM_QL_QUERY_TYPE_INSTANT
      type: string
    LogsAggregation:
      oneOf:
        - $ref: '#/components/schemas/LogsAggregationAverage'
        - $ref: '#/components/schemas/LogsAggregationMin'
        - $ref: '#/components/schemas/LogsAggregationMax'
        - $ref: '#/components/schemas/LogsAggregationPercentile'
        - $ref: '#/components/schemas/LogsAggregationCount'
        - $ref: '#/components/schemas/LogsAggregationCountDistinct'
        - $ref: '#/components/schemas/LogsAggregationSum'
    MetricsSeriesLimitType:
      enum:
        - METRICS_SERIES_LIMIT_TYPE_UNSPECIFIED
        - METRICS_SERIES_LIMIT_TYPE_BY_SERIES_COUNT
        - METRICS_SERIES_LIMIT_TYPE_BY_POINT_COUNT
      type: string
    Visualization.PieChart.LabelDefinition:
      type: object
      properties:
        isVisible:
          type: boolean
          description: Are labels visible
        labelSource:
          $ref: '#/components/schemas/Visualization.PieChart.LabelSource'
        showName:
          type: boolean
          description: Whether to show the name of slice in the label
        showPercentage:
          type: boolean
          description: Whether to show percentage value of slice in the label
        showValue:
          type: boolean
          description: Whether to show value of slice in the label
    HorizontalBars.YAxisViewBy:
      enum:
        - Y_AXIS_VIEW_BY_UNSPECIFIED
        - Y_AXIS_VIEW_BY_CATEGORY
        - Y_AXIS_VIEW_BY_VALUE
      type: string
    Visualization.BarValueDisplay:
      enum:
        - BAR_VALUE_DISPLAY_UNSPECIFIED
        - BAR_VALUE_DISPLAY_TOP
        - BAR_VALUE_DISPLAY_INSIDE
        - BAR_VALUE_DISPLAY_BOTH
      type: string
    HeatmapPreset:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        colorAxisMax:
          type: number
          description: >-
            Optional number indicating the max value for gradient color axis.
            Automatically calculated from data if not provided.
          format: float
          example: 1000
        colorAxisMin:
          type: number
          description: >-
            Optional number indicating the lowest value for gradient color axis.
            Automatically calculated from data if not provided.
          format: float
          example: -1000
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        preset:
          $ref: '#/components/schemas/HeatmapColorPreset'
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        showNumbers:
          type: boolean
          description: Whether to render numeric values inside the heatmap tiles
        tooltip:
          $ref: '#/components/schemas/HeatmapTooltip'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        xAxisFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        yAxisFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
      additionalProperties: false
    HeatmapColorRange:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        colorAxisMax:
          type: number
          description: >-
            Optional number indicating the max value for gradient color axis.
            Automatically calculated from data if not provided.
          format: float
          example: 1000
        colorAxisMin:
          type: number
          description: >-
            Optional number indicating the lowest value for gradient color axis.
            Automatically calculated from data if not provided.
          format: float
          example: -1000
        colorRange:
          $ref: '#/components/schemas/ColorGradientType'
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        showNumbers:
          type: boolean
          description: Whether to render numeric values inside the heatmap tiles
        tooltip:
          $ref: '#/components/schemas/HeatmapTooltip'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueField:
          $ref: '#/components/schemas/ObservationField'
        xAxisFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        yAxisFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
      additionalProperties: false
    Visualization.StackedLine:
      enum:
        - STACKED_LINE_UNSPECIFIED
        - STACKED_LINE_ABSOLUTE
        - STACKED_LINE_RELATIVE
      type: string
    TimeSeriesTooltip:
      type: object
      properties:
        showAllSeries:
          type: boolean
          description: >-
            Type of the tooltip display, can be showing single series value or
            all series values at once
          example: true
        showLabels:
          type: boolean
          example: true
    common.ThresholdBy:
      enum:
        - THRESHOLD_BY_UNSPECIFIED
        - THRESHOLD_BY_VALUE
        - THRESHOLD_BY_BACKGROUND
      type: string
    GeomapAggregation:
      oneOf:
        - $ref: '#/components/schemas/GeomapAggregationAvg'
        - $ref: '#/components/schemas/GeomapAggregationCount'
        - $ref: '#/components/schemas/GeomapAggregationSum'
        - $ref: '#/components/schemas/GeomapAggregationMin'
        - $ref: '#/components/schemas/GeomapAggregationMax'
    GeomapColor:
      oneOf:
        - $ref: '#/components/schemas/GeomapColorSize'
        - $ref: '#/components/schemas/GeomapColorColorRange'
    GeomapFieldConfig:
      oneOf:
        - $ref: '#/components/schemas/GeomapFieldConfigAwsRegionConfig'
        - $ref: '#/components/schemas/GeomapFieldConfigCoordinateConfig'
    MinMax:
      oneOf:
        - $ref: '#/components/schemas/MinMaxCustom'
        - $ref: '#/components/schemas/MinMaxAuto'
    GeomapTooltip:
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        messageTemplate:
          type: string
          description: Custom template for the geomap tooltip
    QueryDisplaySettings:
      title: TimeSeriesLinesMultiQueryDisplaySettings
      required:
        - queryId
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        categoryFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        colorScheme:
          type: string
          description: Applied color scheme for this query, one of the predefined values
        customUnit:
          type: string
          description: Custom unit (requires to have unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
          example: 4
        hashColors:
          type: boolean
          description: Whether to ignore color scheme and derive colors from algorithm
          example: false
        queryId:
          type: string
          description: Reference to the query id from Dynamic.query_display_settings
        scaleType:
          $ref: '#/components/schemas/ScaleType'
        seriesCountLimit:
          type: string
          description: Max count of the series per query
          format: int64
        seriesNameTemplate:
          type: string
          description: Custom template for the series name
        temporalField:
          $ref: '#/components/schemas/ObservationField'
        unit:
          $ref: '#/components/schemas/common.Unit'
        valueFields:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        yAxisMax:
          type: number
          description: Number indicating the upper band for y axis
          format: float
          example: 1000
        yAxisMin:
          type: number
          description: Number indicating the lower band for y axis
          format: float
          example: -1000
      description: Query display settings for time series lines multi-query visualization
      externalDocs:
        url: ''
    Table.Column:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ObservationField'
    Table.Rule:
      type: object
      properties:
        description:
          type: string
        id:
          $ref: '#/components/schemas/UUID'
        name:
          type: string
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        ruleScope:
          $ref: '#/components/schemas/RuleScope'
    TableSettings:
      type: object
      properties:
        columnWidths:
          type: array
          items:
            $ref: '#/components/schemas/ColumnWidthEntry'
        rowStyle:
          $ref: '#/components/schemas/RowStyle'
    LogsQuery.Grouping:
      type: object
      properties:
        aggregations:
          type: array
          items:
            $ref: '#/components/schemas/LogsQuery.Aggregation'
        groupBy:
          type: array
          items:
            type: string
            description: List of field names to group the query results
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
    SpansQuery.Grouping:
      type: object
      properties:
        aggregations:
          type: array
          items:
            $ref: '#/components/schemas/SpansQuery.Aggregation'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
    AutoIntervalResolution:
      title: AutoIntervalResolution
      type: object
      properties:
        maximumDataPoints:
          type: integer
          description: >-
            Maximum number of data points to display. The calculated interval
            ensures this limit is not exceeded.
          format: int32
          example: 500
        minimumInterval:
          type: string
          description: >-
            Minimum interval duration. The calculated interval will not be
            smaller than this value.
      description: >-
        Automatic interval resolution that calculates optimal time buckets based
        on the widget width, time range, and specified constraints.
      externalDocs:
        url: ''
    ManualIntervalResolution:
      title: ManualIntervalResolution
      required:
        - interval
      type: object
      properties:
        interval:
          type: string
          description: Fixed interval duration for time buckets, specified by the user.
      description: >-
        Manual interval resolution with a fixed, user-specified interval for
        time buckets.
      externalDocs:
        url: ''
    LineChart.DataprimeQuery:
      type: object
      properties:
        dataprimeQuery:
          $ref: '#/components/schemas/common.DataprimeQuery'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.Source'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
    LineChart.LogsQuery:
      type: object
      properties:
        aggregations:
          type: array
          items:
            $ref: '#/components/schemas/LogsAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter.LogsFilter'
        groupBy:
          type: array
          items:
            type: string
            description: List of field names to group the query results
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
    LineChart.MetricsQuery:
      type: object
      properties:
        editorMode:
          $ref: '#/components/schemas/MetricsQueryEditorMode'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MetricsFilter'
        promqlQuery:
          $ref: '#/components/schemas/PromQlQuery'
        seriesLimitType:
          $ref: '#/components/schemas/MetricsSeriesLimitType'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
    LineChart.SpansQuery:
      type: object
      properties:
        aggregations:
          type: array
          items:
            $ref: '#/components/schemas/SpansAggregation'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/SpansFilter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/SpanField'
        groupBys:
          type: array
          items:
            $ref: '#/components/schemas/SpanObservationField'
        luceneQuery:
          $ref: '#/components/schemas/LuceneQuery'
        timeFrame:
          $ref: '#/components/schemas/TimeFrameSelect'
    Gauge.Aggregation:
      enum:
        - AGGREGATION_UNSPECIFIED
        - AGGREGATION_LAST
        - AGGREGATION_MIN
        - AGGREGATION_MAX
        - AGGREGATION_AVG
        - AGGREGATION_SUM
      type: string
    Query.LogsQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QueryLogsQueryTypeFieldName'
        - $ref: '#/components/schemas/QueryLogsQueryTypeFieldValue'
    Query.MetricsQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QueryMetricsQueryTypeLabelValue'
        - $ref: '#/components/schemas/QueryMetricsQueryTypeMetricName'
        - $ref: '#/components/schemas/QueryMetricsQueryTypeLabelName'
    Query.SpansQuery.Type:
      oneOf:
        - $ref: '#/components/schemas/QuerySpansQueryTypeFieldName'
        - $ref: '#/components/schemas/QuerySpansQueryTypeFieldValue'
    QuerySource.MetricsQuery.Operator:
      oneOf:
        - $ref: '#/components/schemas/QuerySourceMetricsQueryOperatorEquals'
        - $ref: '#/components/schemas/QuerySourceMetricsQueryOperatorNotEquals'
    QuerySourceMetricsQueryStringOrVariableStringValue:
      type: object
      properties:
        stringValue:
          type: string
      additionalProperties: false
    QuerySourceMetricsQueryStringOrVariableVariableName:
      type: object
      properties:
        variableName:
          type: string
      additionalProperties: false
    SpansAggregationMetricAggregation:
      type: object
      properties:
        metricAggregation:
          $ref: '#/components/schemas/MetricAggregation'
      additionalProperties: false
    SpansAggregationDimensionAggregation:
      type: object
      properties:
        dimensionAggregation:
          $ref: '#/components/schemas/DimensionAggregation'
      additionalProperties: false
    LogsAggregationAverage:
      type: object
      properties:
        average:
          $ref: '#/components/schemas/Average'
      additionalProperties: false
    LogsAggregationMin:
      type: object
      properties:
        min:
          $ref: '#/components/schemas/Min'
      additionalProperties: false
    LogsAggregationMax:
      type: object
      properties:
        max:
          $ref: '#/components/schemas/Max'
      additionalProperties: false
    LogsAggregationPercentile:
      type: object
      properties:
        percentile:
          $ref: '#/components/schemas/Percentile'
      additionalProperties: false
    LogsAggregationCount:
      type: object
      properties:
        count:
          $ref: '#/components/schemas/Count'
      additionalProperties: false
    LogsAggregationCountDistinct:
      type: object
      properties:
        countDistinct:
          $ref: '#/components/schemas/CountDistinct'
      additionalProperties: false
    LogsAggregationSum:
      type: object
      properties:
        sum:
          $ref: '#/components/schemas/Sum'
      additionalProperties: false
    Visualization.PieChart.LabelSource:
      enum:
        - LABEL_SOURCE_UNSPECIFIED
        - LABEL_SOURCE_INNER
        - LABEL_SOURCE_STACK
      type: string
    HeatmapColorPreset:
      enum:
        - HEATMAP_COLOR_PRESET_UNSPECIFIED
        - HEATMAP_COLOR_PRESET_BLUE
        - HEATMAP_COLOR_PRESET_GREEN
        - HEATMAP_COLOR_PRESET_RED
        - HEATMAP_COLOR_PRESET_THRESHOLD
        - HEATMAP_COLOR_PRESET_BLUE_REVERSED
        - HEATMAP_COLOR_PRESET_GREEN_REVERSED
        - HEATMAP_COLOR_PRESET_RED_REVERSED
        - HEATMAP_COLOR_PRESET_THRESHOLD_REVERSED
      type: string
    HeatmapTooltip:
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/ObservationField'
        messageTemplate:
          type: string
          description: Custom template for the heatmap tooltip
    ColorGradientType:
      enum:
        - COLOR_GRADIENT_TYPE_UNSPECIFIED
        - COLOR_GRADIENT_TYPE_BLUE
        - COLOR_GRADIENT_TYPE_GREEN
        - COLOR_GRADIENT_TYPE_RED
        - COLOR_GRADIENT_TYPE_THRESHOLD
        - COLOR_GRADIENT_TYPE_BLUE_REVERSED
        - COLOR_GRADIENT_TYPE_GREEN_REVERSED
        - COLOR_GRADIENT_TYPE_RED_REVERSED
        - COLOR_GRADIENT_TYPE_THRESHOLD_REVERSED
      type: string
    GeomapAggregationAvg:
      type: object
      properties:
        avg:
          $ref: '#/components/schemas/GeomapAggregationFieldBased'
      additionalProperties: false
    GeomapAggregationCount:
      type: object
      properties:
        count:
          $ref: '#/components/schemas/GeomapAggregationSimple'
      additionalProperties: false
    GeomapAggregationSum:
      type: object
      properties:
        sum:
          $ref: '#/components/schemas/GeomapAggregationFieldBased'
      additionalProperties: false
    GeomapAggregationMin:
      type: object
      properties:
        min:
          $ref: '#/components/schemas/GeomapAggregationFieldBased'
      additionalProperties: false
    GeomapAggregationMax:
      type: object
      properties:
        max:
          $ref: '#/components/schemas/GeomapAggregationFieldBased'
      additionalProperties: false
    GeomapColorSize:
      type: object
      properties:
        size:
          $ref: '#/components/schemas/ColorSolidType'
      additionalProperties: false
    GeomapColorColorRange:
      type: object
      properties:
        colorRange:
          $ref: '#/components/schemas/ColorGradientType'
      additionalProperties: false
    GeomapFieldConfigAwsRegionConfig:
      type: object
      properties:
        awsRegionConfig:
          $ref: '#/components/schemas/GeomapAwsRegionConfig'
      additionalProperties: false
    GeomapFieldConfigCoordinateConfig:
      type: object
      properties:
        coordinateConfig:
          $ref: '#/components/schemas/GeomapCoordinateConfig'
      additionalProperties: false
    MinMaxCustom:
      title: Min-Max
      type: object
      properties:
        custom:
          $ref: '#/components/schemas/MinMaxCustom'
      additionalProperties: false
      description: >-
        Definition of min/max value configuration, can be automatically derived
        from data or custom
      externalDocs:
        url: ''
    MinMaxAuto:
      title: Min-Max
      type: object
      properties:
        auto:
          $ref: '#/components/schemas/MinMaxAuto'
      additionalProperties: false
      description: >-
        Definition of min/max value configuration, can be automatically derived
        from data or custom
      externalDocs:
        url: ''
    Property:
      type: object
      properties:
        definition:
          $ref: '#/components/schemas/PropertyDefinition'
        id:
          $ref: '#/components/schemas/UUID'
    RuleScope:
      oneOf:
        - $ref: '#/components/schemas/RuleScopeFieldType'
        - $ref: '#/components/schemas/RuleScopeField'
        - $ref: '#/components/schemas/RuleScopeRegex'
    ColumnWidthEntry:
      type: object
      properties:
        columnName:
          type: string
        width:
          type: integer
          format: int32
    LogsQuery.Aggregation:
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/LogsAggregation'
        id:
          type: string
          description: Aggregation unique identifier
        isVisible:
          type: boolean
          description: Whether the aggregation is visible in the table
        name:
          type: string
          description: Aggregation name
    SpansQuery.Aggregation:
      type: object
      properties:
        aggregation:
          $ref: '#/components/schemas/SpansAggregation'
        id:
          type: string
          description: Aggregation unique identifier
        isVisible:
          type: boolean
          description: Whether the aggregation is visible in the table
        name:
          type: string
          description: Aggregation name
    QueryLogsQueryTypeFieldName:
      type: object
      properties:
        fieldName:
          $ref: '#/components/schemas/Query.LogsQuery.Type.FieldName'
      additionalProperties: false
    QueryLogsQueryTypeFieldValue:
      type: object
      properties:
        fieldValue:
          $ref: '#/components/schemas/Query.LogsQuery.Type.FieldValue'
      additionalProperties: false
    QueryMetricsQueryTypeLabelValue:
      type: object
      properties:
        labelValue:
          $ref: '#/components/schemas/Query.MetricsQuery.Type.LabelValue'
      additionalProperties: false
    QueryMetricsQueryTypeMetricName:
      type: object
      properties:
        metricName:
          $ref: '#/components/schemas/Query.MetricsQuery.Type.MetricName'
      additionalProperties: false
    QueryMetricsQueryTypeLabelName:
      type: object
      properties:
        labelName:
          $ref: '#/components/schemas/Query.MetricsQuery.Type.LabelName'
      additionalProperties: false
    QuerySpansQueryTypeFieldName:
      type: object
      properties:
        fieldName:
          $ref: '#/components/schemas/Query.SpansQuery.Type.FieldName'
      additionalProperties: false
    QuerySpansQueryTypeFieldValue:
      type: object
      properties:
        fieldValue:
          $ref: '#/components/schemas/Query.SpansQuery.Type.FieldValue'
      additionalProperties: false
    QuerySourceMetricsQueryOperatorEquals:
      type: object
      properties:
        equals:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Equals'
      additionalProperties: false
    QuerySourceMetricsQueryOperatorNotEquals:
      type: object
      properties:
        notEquals:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.NotEquals'
      additionalProperties: false
    MetricAggregation:
      type: object
      properties:
        aggregationType:
          $ref: '#/components/schemas/MetricAggregationType'
        metricField:
          $ref: '#/components/schemas/MetricAggregation.MetricField'
    DimensionAggregation:
      type: object
      properties:
        aggregationType:
          $ref: '#/components/schemas/DimensionAggregationType'
        dimensionField:
          $ref: '#/components/schemas/DimensionField'
    Average:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
    Min:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
    Max:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
    Percentile:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
        percent:
          type: number
          format: double
    Count:
      type: object
    CountDistinct:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
    Sum:
      type: object
      properties:
        field:
          type: string
        observationField:
          $ref: '#/components/schemas/ObservationField'
    GeomapAggregationFieldBased:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ObservationField'
    GeomapAggregationSimple:
      type: object
    ColorSolidType:
      enum:
        - COLOR_SOLID_TYPE_UNSPECIFIED
        - COLOR_SOLID_TYPE_BLUE
        - COLOR_SOLID_TYPE_GREEN
        - COLOR_SOLID_TYPE_RED
        - COLOR_SOLID_TYPE_PURPLE
      type: string
    GeomapAwsRegionConfig:
      type: object
      properties:
        awsRegionField:
          $ref: '#/components/schemas/ObservationField'
    GeomapCoordinateConfig:
      type: object
      properties:
        latitudeField:
          $ref: '#/components/schemas/ObservationField'
        longitudeField:
          $ref: '#/components/schemas/ObservationField'
    PropertyDefinition:
      oneOf:
        - $ref: '#/components/schemas/PropertyDefinitionThresholds'
        - $ref: '#/components/schemas/PropertyDefinitionAlignment'
        - $ref: '#/components/schemas/PropertyDefinitionUnits'
        - $ref: '#/components/schemas/PropertyDefinitionRegexExtract'
        - $ref: '#/components/schemas/PropertyDefinitionLink'
        - $ref: '#/components/schemas/PropertyDefinitionValuesAlias'
        - $ref: '#/components/schemas/PropertyDefinitionValuesMapping'
        - $ref: '#/components/schemas/PropertyDefinitionColumnDisplayName'
    RuleScopeFieldType:
      type: object
      properties:
        fieldType:
          $ref: '#/components/schemas/FieldDataType'
      additionalProperties: false
    RuleScopeField:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/ObservationField'
      additionalProperties: false
    RuleScopeRegex:
      type: object
      properties:
        regex:
          type: string
      additionalProperties: false
    Query.LogsQuery.Type.FieldName:
      type: object
      properties:
        logRegex:
          type: string
    Query.LogsQuery.Type.FieldValue:
      type: object
      properties:
        observationField:
          $ref: '#/components/schemas/ObservationField'
    Query.MetricsQuery.Type.LabelValue:
      type: object
      properties:
        labelFilters:
          type: array
          items:
            $ref: '#/components/schemas/Query.MetricsQuery.MetricsLabelFilter'
        labelName:
          $ref: '#/components/schemas/Query.MetricsQuery.StringOrVariable'
        metricName:
          $ref: '#/components/schemas/Query.MetricsQuery.StringOrVariable'
    Query.MetricsQuery.Type.MetricName:
      type: object
      properties:
        metricRegex:
          type: string
    Query.MetricsQuery.Type.LabelName:
      type: object
      properties:
        metricRegex:
          type: string
    Query.SpansQuery.Type.FieldName:
      type: object
      properties:
        spanRegex:
          type: string
    Query.SpansQuery.Type.FieldValue:
      type: object
      properties:
        observationField:
          $ref: '#/components/schemas/ObservationField'
        value:
          $ref: '#/components/schemas/SpanField'
    QuerySource.MetricsQuery.Equals:
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Selection'
    QuerySource.MetricsQuery.NotEquals:
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/QuerySource.MetricsQuery.Selection'
    MetricAggregationType:
      enum:
        - METRIC_AGGREGATION_TYPE_UNSPECIFIED
        - METRIC_AGGREGATION_TYPE_MIN
        - METRIC_AGGREGATION_TYPE_MAX
        - METRIC_AGGREGATION_TYPE_AVERAGE
        - METRIC_AGGREGATION_TYPE_SUM
        - METRIC_AGGREGATION_TYPE_PERCENTILE_99
        - METRIC_AGGREGATION_TYPE_PERCENTILE_95
        - METRIC_AGGREGATION_TYPE_PERCENTILE_50
      type: string
    MetricAggregation.MetricField:
      enum:
        - METRIC_FIELD_UNSPECIFIED
        - METRIC_FIELD_DURATION
      type: string
    DimensionAggregationType:
      enum:
        - DIMENSION_AGGREGATION_TYPE_UNSPECIFIED
        - DIMENSION_AGGREGATION_TYPE_UNIQUE_COUNT
        - DIMENSION_AGGREGATION_TYPE_ERROR_COUNT
      type: string
    DimensionField:
      enum:
        - DIMENSION_FIELD_UNSPECIFIED
        - DIMENSION_FIELD_TRACE_ID
      type: string
    PropertyDefinitionThresholds:
      type: object
      properties:
        thresholds:
          $ref: '#/components/schemas/PropertyThresholds'
      additionalProperties: false
    PropertyDefinitionAlignment:
      type: object
      properties:
        alignment:
          $ref: '#/components/schemas/TextAlignment'
      additionalProperties: false
    PropertyDefinitionUnits:
      type: object
      properties:
        units:
          $ref: '#/components/schemas/PropertyUnits'
      additionalProperties: false
    PropertyDefinitionRegexExtract:
      type: object
      properties:
        regexExtract:
          type: string
          description: Value of Regex Extract property, a regex string
          example: gr[ae]y
      additionalProperties: false
    PropertyDefinitionLink:
      type: object
      properties:
        link:
          $ref: '#/components/schemas/PropertyLinks'
      additionalProperties: false
    PropertyDefinitionValuesAlias:
      type: object
      properties:
        valuesAlias:
          type: string
          description: Value alias property, used to give alias names to selected fields
          example: 'Pod: {{$d.pod}}'
      additionalProperties: false
    PropertyDefinitionValuesMapping:
      type: object
      properties:
        valuesMapping:
          $ref: '#/components/schemas/PropertyValuesMapping'
      additionalProperties: false
    PropertyDefinitionColumnDisplayName:
      type: object
      properties:
        columnDisplayName:
          type: string
          description: Column display name property, allows renaming the column header name
          example: Renamed header
      additionalProperties: false
    FieldDataType:
      enum:
        - FIELD_DATA_TYPE_UNSPECIFIED
        - FIELD_DATA_TYPE_NUMBER
        - FIELD_DATA_TYPE_STRING
        - FIELD_DATA_TYPE_BOOLEAN
        - FIELD_DATA_TYPE_TIMESTAMP
        - FIELD_DATA_TYPE_OBJECT
        - FIELD_DATA_TYPE_ARRAY
        - FIELD_DATA_TYPE_REGEX
        - FIELD_DATA_TYPE_UNION
        - FIELD_DATA_TYPE_ENUM
      type: string
    Query.MetricsQuery.MetricsLabelFilter:
      type: object
      properties:
        label:
          $ref: '#/components/schemas/Query.MetricsQuery.StringOrVariable'
        metric:
          $ref: '#/components/schemas/Query.MetricsQuery.StringOrVariable'
        operator:
          $ref: '#/components/schemas/Query.MetricsQuery.Operator'
    Query.MetricsQuery.StringOrVariable:
      oneOf:
        - $ref: '#/components/schemas/QueryMetricsQueryStringOrVariableStringValue'
        - $ref: '#/components/schemas/QueryMetricsQueryStringOrVariableVariableName'
    QuerySource.MetricsQuery.Selection:
      type: object
      properties:
        list:
          $ref: >-
            #/components/schemas/QuerySource.MetricsQuery.Selection.ListSelection
    PropertyThresholds:
      type: object
      properties:
        max:
          type: number
          description: >-
            A maximum value used in relative thresholds to calculate the
            threshold levels
          format: double
        min:
          type: number
          description: >-
            A minimum value used in relative thresholds to calculate the
            threshold levels
          format: double
        type:
          $ref: '#/components/schemas/ThresholdType'
        values:
          type: array
          items:
            $ref: '#/components/schemas/common.Threshold'
    TextAlignment:
      enum:
        - TEXT_ALIGNMENT_UNSPECIFIED
        - TEXT_ALIGNMENT_LEFT
        - TEXT_ALIGNMENT_CENTER
        - TEXT_ALIGNMENT_RIGHT
      type: string
    PropertyUnits:
      type: object
      properties:
        allowAbbreviation:
          type: boolean
          description: Whether to render numeric value with abbreviation
          example: false
        customUnit:
          type: string
          description: Custom unit (requires to set unit field as 'custom' to take effect)
        decimalPrecision:
          type: integer
          description: >-
            Number indicating the decimal precision of the numeric values,
            within range 0-15
          format: int32
        max:
          type: number
          description: >-
            A maximum value used in percentage type unit (UNIT_PERCENT) for
            calculating displayed value
          format: double
        min:
          type: number
          description: >-
            A minimum value used in percentage type unit (UNIT_PERCENT) for
            calculating displayed value
          format: double
        unit:
          $ref: '#/components/schemas/common.Unit'
    PropertyLinks:
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/LinkAction'
    PropertyValuesMapping:
      type: object
      properties:
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/ValueMapping'
    Query.MetricsQuery.Operator:
      oneOf:
        - $ref: '#/components/schemas/QueryMetricsQueryOperatorEquals'
        - $ref: '#/components/schemas/QueryMetricsQueryOperatorNotEquals'
    QueryMetricsQueryStringOrVariableStringValue:
      type: object
      properties:
        stringValue:
          type: string
      additionalProperties: false
    QueryMetricsQueryStringOrVariableVariableName:
      type: object
      properties:
        variableName:
          type: string
      additionalProperties: false
    QuerySource.MetricsQuery.Selection.ListSelection:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/QuerySource.MetricsQuery.StringOrVariable'
    LinkAction:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        name:
          type: string
          description: Name of the link action
        shouldOpenInNewWindow:
          type: boolean
          description: >-
            Defines if the link action should open in a new window or current
            window in the browser
        url:
          type: string
          description: Static URL that may contain variables using {{variable_name}} syntax
    ValueMapping:
      type: object
      properties:
        inputValue:
          type: string
        replaceValue:
          type: string
        type:
          $ref: '#/components/schemas/ValuesMappingType'
    QueryMetricsQueryOperatorEquals:
      type: object
      properties:
        equals:
          $ref: '#/components/schemas/Query.MetricsQuery.Equals'
      additionalProperties: false
    QueryMetricsQueryOperatorNotEquals:
      type: object
      properties:
        notEquals:
          $ref: '#/components/schemas/Query.MetricsQuery.NotEquals'
      additionalProperties: false
    ValuesMappingType:
      enum:
        - VALUES_MAPPING_TYPE_UNSPECIFIED
        - VALUES_MAPPING_TYPE_VALUE
        - VALUES_MAPPING_TYPE_REGEX
      type: string
    Query.MetricsQuery.Equals:
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/Query.MetricsQuery.Selection'
    Query.MetricsQuery.NotEquals:
      type: object
      properties:
        selection:
          $ref: '#/components/schemas/Query.MetricsQuery.Selection'
    Query.MetricsQuery.Selection:
      type: object
      properties:
        list:
          $ref: '#/components/schemas/Query.MetricsQuery.Selection.ListSelection'
    Query.MetricsQuery.Selection.ListSelection:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/Query.MetricsQuery.StringOrVariable'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key authentication

````