basePath: /api/v1/
definitions:
  message.ApplyLogAlertRulesReq:
    properties:
      region:
        type: string
      rulesConfig:
        type: object
      vendor:
        type: string
    required:
    - region
    - rulesConfig
    - vendor
    type: object
  message.AuthRouteReq:
    properties:
      apiKey:
        type: string
      applicationID:
        type: string
      bizType:
        type: string
      ignoreProject:
        description: for next-gen api, ignore project in path
        type: boolean
      path:
        type: string
      tenantID:
        type: string
      useO11yID:
        description: for next-gen api, use o11yID in path
        type: boolean
    type: object
  message.AuthRouteResp:
    properties:
      vmAccountID:
        type: integer
      vmClusterName:
        type: string
      vmProjectID:
        type: integer
    type: object
  message.BYOCVPCPeering:
    properties:
      dataplaneVpcCIDR:
        type: string
      peeringConnectionID:
        type: string
    type: object
  message.ClusterWithStorageInfo:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      diagnosisQueryUri:
        type: string
      id:
        type: string
      internalReadUri:
        type: string
      logQueryUri:
        type: string
      multitenantQueryUri:
        description: MultitenantQueryUri is an API v1 base URI that already includes
          encoded query parameters such as extra_filters[].
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      storageInfo:
        items:
          $ref: '#/definitions/structs.StorageInfo'
        type: array
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.CreateClusterReq:
    properties:
      agentAccessARN:
        description: |-
          AgentAccessARN and AgentManagerARN are not needed in the 3-layers architecture
          because the AgentEnvironment model defines account and project information
          AgentManagerARN is a pre-defined management role created in each dataplane account for o11y
          AgentAccessARN is a data role: o11y_{{k8s_id}}_access_role created by o11y_regional_server for each k8s
          Compatibility solution: If agentAccessARN and agentManagerARN are passed, use o11y_management_role.
          If not passed, use the fixed management role and generated access role.
          Note: AgentAccessARN could be changed to agent data role arn during an in-flight request.
        type: string
      agentAccessAccount:
        description: AgentAccessAccount is used for agent access account, if not set,
          use agentAccessARN, if set, use agentAccessAccount and agentAccessARN must
          not set
        type: string
      agentEnvironment:
        $ref: '#/definitions/structs.AgentEnvironment'
        description: |-
          describe agent deployment env, e.g VPC, account and provider
          if not set, use Compatibility path
        type: object
      agentManagerARN:
        description: AgentManagerARN is used for private link service authentication.
        type: string
      agentNextGen:
        description: AgentNextGen is used for next gen agent, if not set, use old
          path
        type: boolean
      agentSharedRole:
        description: only for shared-vpc
        type: boolean
      agentTemplateName:
        description: agent config template, now not used
        type: string
      applicationID:
        type: string
      bizType:
        type: string
      byocVpcPeering:
        $ref: '#/definitions/message.BYOCVPCPeering'
        description: |-
          BYOCVPCPeering carries dataplane-specific peering info used by the regional
          server to ensure routes in the statically provisioned o11y VPC.
        type: object
      category:
        description: |-
          o11y provided data categories, such as monitoring, logging, topsql, etc.
          The default value is []string{"metrics", "logs"}, which will be added to the cluster's CR.
          If topsql is enabled, add "topsql" to it.
        items:
          type: string
        type: array
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      keySpaceID:
        type: string
      monitorPromRules:
        type: object
      monitorSpecID:
        description: only prometheus spec(vmalert use this, wrong ways)
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      observed:
        $ref: '#/definitions/structs.Observed'
        description: tidb cluster or other observed component information, for o11y
          auto scale
        type: object
      openReadUri:
        type: string
      parentClusterID:
        type: string
      projectID:
        type: string
      region:
        type: string
      ruleTemplateID:
        type: string
      seedClusterID:
        description: |-
          A temporary parameter set specifically for the k8s-infra cluster.
          The purpose is to specify which seed cluster k8s-infra will push the metrics to.
          This parameter should be deleted in the future when k8s-infra metrics are pushed to its own cluster
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.CreateClusterResp:
    properties:
      agentInfo:
        $ref: '#/definitions/structs.AgentInfo'
        type: object
      alertInfo:
        $ref: '#/definitions/structs.AlertInfo'
        type: object
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      lastScaleTime:
        additionalProperties:
          type: string
        type: object
      monitorInfo:
        $ref: '#/definitions/structs.MonitorInfo'
        type: object
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      status:
        type: string
      storageInfo:
        items:
          $ref: '#/definitions/structs.StorageInfo'
        type: array
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.CreateIntegrationTaskReq:
    properties:
      accessPrincipal:
        type: string
      dataFormat:
        default: gzip-csv
        type: string
      dataPrefix:
        description: |-
          DataPrefix is used for object storage destination, representing the prefix of the object key where the data will be stored.
          For example, if DataPrefix is "logs/", the actual object key might be "logs/cluster1/slowquery-20240101.csv.gz".
        type: string
      dataType:
        type: string
      displayName:
        type: string
      endTime:
        type: string
      frequency:
        default: 10m
        type: string
      jobType:
        default: Once
        type: string
      rawLogComponents:
        items:
          type: string
        type: array
      startTime:
        type: string
    required:
    - dataType
    - displayName
    type: object
  message.CreateIntegrationTaskResp:
    properties:
      accessPrincipal:
        type: string
      clusterID:
        type: string
      createTime:
        type: string
      dataFormat:
        type: string
      dataPrefix:
        type: string
      dataType:
        type: string
      destinationInfo:
        $ref: '#/definitions/message.DestinationInfo'
        type: object
      displayName:
        type: string
      endTime:
        type: string
      frequency:
        type: string
      id:
        type: string
      jobType:
        type: string
      name:
        type: string
      rawLogComponents:
        items:
          type: string
        type: array
      startTime:
        type: string
    type: object
  message.DeleteAlertRulesTemplateReq:
    properties:
      id:
        type: string
      region:
        type: string
      vendor:
        type: string
    required:
    - id
    - region
    - vendor
    type: object
  message.DeleteAlertRulesTemplateResp:
    properties:
      monitorPromRules:
        type: object
    required:
    - monitorPromRules
    type: object
  message.DeleteClusterReq:
    properties:
      agentAccessARN:
        type: string
      bizType:
        type: string
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.DeleteClusterResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.DeleteIntegrationTaskReq:
    properties:
      id:
        type: string
    required:
    - id
    type: object
  message.DeleteIntegrationTaskResp:
    properties:
      id:
        type: string
      message:
        type: string
    type: object
  message.DestinationInfo:
    properties:
      accessPoint:
        type: string
      assumeRoleARN:
        type: string
    type: object
  message.DetailClusterReq:
    properties:
      bizType:
        type: string
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.DetailClusterResp:
    properties:
      agentInfo:
        $ref: '#/definitions/structs.AgentInfo'
        type: object
      alertInfo:
        $ref: '#/definitions/structs.AlertInfo'
        type: object
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      lastScaleTime:
        additionalProperties:
          type: string
        type: object
      monitorInfo:
        $ref: '#/definitions/structs.MonitorInfo'
        type: object
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      status:
        type: string
      storageInfo:
        items:
          $ref: '#/definitions/structs.StorageInfo'
        type: array
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.DetailIntegrationTaskReq:
    properties:
      id:
        type: string
    required:
    - id
    type: object
  message.DetailIntegrationTaskResp:
    properties:
      accessPrincipal:
        type: string
      clusterID:
        type: string
      createTime:
        type: string
      dataFormat:
        type: string
      dataPrefix:
        type: string
      dataType:
        type: string
      destinationInfo:
        $ref: '#/definitions/message.DestinationInfo'
        type: object
      displayName:
        type: string
      endTime:
        type: string
      frequency:
        type: string
      id:
        type: string
      jobType:
        type: string
      name:
        type: string
      phase:
        type: string
      rawLogComponents:
        items:
          type: string
        type: array
      startTime:
        type: string
    type: object
  message.ExternalAlertConfig:
    properties:
      ruleTemplateID:
        type: string
    type: object
  message.ExternalKeyVisualConfig:
    properties:
      openReadUri:
        type: string
    type: object
  message.ExternalLogsConfig:
    properties:
      openReadUri:
        type: string
    type: object
  message.ExternalMetricsConfig:
    properties:
      openReadUri:
        type: string
    type: object
  message.ExternalSlowQueryConfig:
    properties:
      openReadUri:
        type: string
    type: object
  message.ExternalSqlStatementsConfig:
    properties:
      openReadUri:
        type: string
    type: object
  message.GetClusterExternalResp:
    properties:
      alerts:
        $ref: '#/definitions/message.ExternalAlertConfig'
        type: object
      applicationID:
        type: string
      bizType:
        type: string
      id:
        type: string
      keyVisual:
        $ref: '#/definitions/message.ExternalKeyVisualConfig'
        type: object
      logs:
        $ref: '#/definitions/message.ExternalLogsConfig'
        type: object
      metrics:
        $ref: '#/definitions/message.ExternalMetricsConfig'
        type: object
      projectID:
        type: string
      region:
        type: string
      slowQuery:
        $ref: '#/definitions/message.ExternalSlowQueryConfig'
        type: object
      sqlStatements:
        $ref: '#/definitions/message.ExternalSqlStatementsConfig'
        type: object
      tenantID:
        type: string
      vendor:
        type: string
    type: object
  message.GetServiceHealthResp:
    properties:
      serviceHealth:
        type: boolean
    type: object
  message.GetServiceInfoResp:
    properties:
      availableSpecs:
        additionalProperties:
          $ref: '#/definitions/k8sv1.ResourceRequirements'
        type: object
      serviceName:
        type: string
    type: object
  message.IntegrationTaskSummary:
    properties:
      accessPrincipal:
        type: string
      createTime:
        type: string
      dataFormat:
        type: string
      dataPrefix:
        type: string
      dataType:
        type: string
      destinationInfo:
        $ref: '#/definitions/message.DestinationInfo'
        type: object
      endTime:
        type: string
      frequency:
        type: string
      id:
        type: string
      jobType:
        type: string
      phase:
        type: string
      rawLogComponents:
        items:
          type: string
        type: array
      startTime:
        type: string
    type: object
  message.ModifyAgentObservedReq:
    properties:
      observed:
        $ref: '#/definitions/structs.Observed'
        type: object
      region:
        type: string
      vendor:
        type: string
    required:
    - observed
    - region
    - vendor
    type: object
  message.ModifyAgentObservedResp:
    type: object
  message.ModifyAlertRulesTemplateReq:
    properties:
      monitorPromRules:
        type: object
      region:
        type: string
      templateID:
        type: string
      vendor:
        type: string
    required:
    - monitorPromRules
    - region
    - templateID
    - vendor
    type: object
  message.ModifyAlertRulesTemplateResp:
    type: object
  message.ModifyMonitorModeReq:
    properties:
      region:
        type: string
      shareMode:
        type: string
      vendor:
        type: string
    required:
    - region
    - shareMode
    - vendor
    type: object
  message.ModifyMonitorModeResp:
    type: object
  message.ModifyMonitorResourceReq:
    properties:
      region:
        type: string
      resourceMeta:
        additionalProperties:
          $ref: '#/definitions/message.ResourceMeta'
        type: object
      resourceType:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.ModifyMonitorResourceResp:
    type: object
  message.ModifyMonitorSpecReq:
    properties:
      region:
        type: string
      specID:
        type: string
      vendor:
        type: string
    required:
    - region
    - specID
    - vendor
    type: object
  message.ModifyMonitorSpecResp:
    type: object
  message.ModifyMonitorStorageReq:
    properties:
      PVCName:
        type: string
      namespace:
        type: string
      region:
        type: string
      request:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.ModifyMonitorStorageResp:
    type: object
  message.MuteClusterAlertReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.MuteClusterAlertResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.OpenAlertConfig:
    properties:
      ruleTemplateID:
        type: string
      status:
        type: string
    type: object
  message.OpenAlertRule:
    type: object
  message.OpenAlertRuleTemplate:
    properties:
      desc:
        type: string
      id:
        type: string
    type: object
  message.OpenAlertRuleTemplateList:
    properties:
      templates:
        items:
          $ref: '#/definitions/message.OpenAlertRuleTemplate'
        type: array
    type: object
  message.OpenClusterListResponse:
    properties:
      clusters:
        items:
          $ref: '#/definitions/message.OpenObservabilityCluster'
        type: array
      next_page_token:
        type: string
    type: object
  message.OpenCreateClusterRequest:
    properties:
      agentAccessARN:
        type: string
      agentManagerARN:
        type: string
      applicationID:
        type: string
      note:
        type: string
      projectID:
        type: string
      ruleTemplateID:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
    required:
    - agentAccessARN
    - agentManagerARN
    - applicationID
    - projectID
    type: object
  message.OpenLogsConfig:
    properties:
      dataRetention:
        type: integer
      status:
        type: string
    type: object
  message.OpenMetricsConfig:
    properties:
      dataRetention:
        type: integer
      queryEndpoint:
        type: string
      status:
        type: string
    type: object
  message.OpenModuleConfigRequest:
    properties:
      retention:
        type: integer
    required:
    - retention
    type: object
  message.OpenModuleStatusRequest:
    properties:
      status:
        type: string
    required:
    - status
    type: object
  message.OpenObservabilityCluster:
    properties:
      agentRoleARN:
        type: string
      alerts:
        $ref: '#/definitions/message.OpenAlertConfig'
        type: object
      applicationID:
        type: string
      bizType:
        type: string
      dnsName:
        type: string
      endpointServiceName:
        type: string
      id:
        type: string
      logs:
        $ref: '#/definitions/message.OpenLogsConfig'
        type: object
      metrics:
        $ref: '#/definitions/message.OpenMetricsConfig'
        type: object
      note:
        type: string
      projectID:
        type: string
      region:
        type: string
      ruleTemplateID:
        type: string
      share_mode:
        type: string
      status:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
    type: object
  message.PauseClusterReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.PauseClusterResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.PauseReconcileReq:
    properties:
      pauseCluster:
        type: boolean
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.QueryAlertRulesByCloudUserResp:
    properties:
      alertRuleList:
        items:
          $ref: '#/definitions/structs.AlertRuleGroup'
        type: array
    type: object
  message.QueryAlertRulesReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.QueryAlertRulesTemplateReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.QueryAlertRulesTemplateResp:
    properties:
      monitorPromRules:
        type: object
    required:
    - monitorPromRules
    type: object
  message.QueryClustersReq:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      continueToken:
        type: string
      limit:
        type: integer
      projectID:
        type: string
      region:
        type: string
      showDeleted:
        type: boolean
      tenantID:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.QueryClustersWithStorageResp:
    properties:
      clusters:
        items:
          $ref: '#/definitions/message.ClusterWithStorageInfo'
        type: array
      continueToken:
        type: string
      partial:
        type: boolean
      remainingItemCount:
        type: integer
    type: object
  message.QueryExternalAlertsReq:
    properties:
      endTime:
        description: endTime of alerts, unix timestamp
        type: integer
      limit:
        type: integer
      page:
        type: integer
      region:
        type: string
      severity:
        description: severity with lowercase, oneof warning, critical
        type: string
      startTime:
        description: startTime of alerts, unix timestamp
        type: integer
      status:
        description: alert state with lowercase, one of active closed all
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.QueryExternalAlertsResp:
    properties:
      alerts:
        items:
          $ref: '#/definitions/structs.UserAlertInfo'
        type: array
      total:
        type: integer
    type: object
  message.QueryIntegrationTasksReq:
    properties:
      dataType:
        type: string
      pageSize:
        type: integer
      pageToken:
        type: string
    type: object
  message.QueryIntegrationTasksResp:
    properties:
      nextPageToken:
        type: string
      pipelines:
        items:
          $ref: '#/definitions/message.IntegrationTaskSummary'
        type: array
      totalSize:
        type: integer
    type: object
  message.ResourceMeta:
    properties:
      PVCName:
        type: string
      namespace:
        type: string
      request:
        type: string
      specID:
        type: string
    type: object
  message.Result:
    properties:
      code:
        description: http error code
        type: integer
      data:
        description: The returned content, storage in JSON format
        type: object
      message:
        description: http error msg
        type: string
    type: object
  message.ResumeClusterReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.ResumeClusterResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.UnmuteClusterAlertReq:
    properties:
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.UnmuteClusterAlertResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.UpdateAlertRulesByCloudUserReq:
    properties:
      alertRules:
        additionalProperties:
          $ref: '#/definitions/structs.AlertRuleBase'
        type: object
      region:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.UpdateAlertRulesByCloudUserResp:
    properties:
      data:
        additionalProperties:
          $ref: '#/definitions/structs.UpdateAlertRule'
        type: object
    type: object
  message.UpdateClusterReq:
    properties:
      monitorSpecID:
        type: string
      muteAlert:
        type: boolean
      region:
        type: string
      ruleTemplateID:
        type: string
      vendor:
        type: string
    required:
    - region
    - vendor
    type: object
  message.UpdateClusterResp:
    properties:
      applicationID:
        type: string
      bizType:
        type: string
      dataPropertyRights:
        type: integer
      id:
        type: string
      internalReadUri:
        type: string
      muteAlert:
        type: boolean
      note:
        type: string
      openReadUri:
        type: string
      projectID:
        type: string
      region:
        type: string
      shareMode:
        type: string
      tags:
        items:
          type: string
        type: array
      tenantID:
        type: string
      vendor:
        type: string
      version:
        type: string
    required:
    - applicationID
    - bizType
    - region
    - shareMode
    - tenantID
    - vendor
    type: object
  message.UpdateIntegrationTaskReq:
    properties:
      dataFormat:
        type: string
      frequency:
        type: string
      id:
        type: string
    required:
    - id
    type: object
  message.UpdateIntegrationTaskResp:
    properties:
      accessPrincipal:
        type: string
      clusterID:
        type: string
      createTime:
        type: string
      dataFormat:
        type: string
      dataPrefix:
        type: string
      dataType:
        type: string
      destinationInfo:
        $ref: '#/definitions/message.DestinationInfo'
        type: object
      displayName:
        type: string
      endTime:
        type: string
      frequency:
        type: string
      id:
        type: string
      jobType:
        type: string
      name:
        type: string
      phase:
        type: string
      rawLogComponents:
        items:
          type: string
        type: array
      startTime:
        type: string
    type: object
  structs.AWSAgentEnvironment:
    properties:
      account:
        type: string
      nodeSubnetIDs:
        items:
          type: string
        type: array
      oidc:
        type: string
      securityGroupID:
        type: string
      vpcID:
        type: string
    type: object
  structs.AgentEnvironment:
    properties:
      aliCloud:
        $ref: '#/definitions/structs.AliCloudAgentEnvironment'
        type: object
      aws:
        $ref: '#/definitions/structs.AWSAgentEnvironment'
        type: object
      azure:
        $ref: '#/definitions/structs.AzureAgentEnvironment'
        type: object
      dataplane:
        $ref: '#/definitions/structs.Dataplane'
        type: object
      gcp:
        $ref: '#/definitions/structs.GCPAgentEnvironment'
        type: object
      releaseNameSpace:
        type: string
    type: object
  structs.AgentInfo:
    properties:
      roleARN:
        description: o11y role for agents
        type: string
    type: object
  structs.AlertInfo:
    properties:
      muteAlert:
        type: boolean
      ruleTemplateID:
        type: string
    type: object
  structs.AlertRuleBase:
    properties:
      alertRuleID:
        type: string
      for:
        type: integer
      status:
        type: string
      threshold:
        type: number
    type: object
  structs.AlertRuleDetail:
    properties:
      alert:
        type: string
      alertRuleID:
        type: string
      canEdit:
        type: string
      defaultFor:
        type: number
      defaultThreshold:
        type: number
      for:
        type: integer
      monitorTarget:
        type: string
      operator:
        type: string
      sortID:
        type: integer
      status:
        type: string
      threshold:
        type: number
    type: object
  structs.AlertRuleGroup:
    properties:
      name:
        type: string
      rules:
        items:
          $ref: '#/definitions/structs.AlertRuleDetail'
        type: array
    type: object
  structs.AliCloudAgentEnvironment:
    properties:
      account:
        type: string
      nodeSubnetIDs:
        items:
          type: string
        type: array
      oidc:
        type: string
      securityGroupID:
        type: string
      vpcID:
        type: string
    type: object
  structs.AzureAgentEnvironment:
    properties:
      networkName:
        type: string
      oidc:
        description: AKS OIDC issuer used for creating federated identity
        type: string
      resourceGroup:
        type: string
      subnet:
        description: Subnet where private endpoint should be created
        type: string
      subscriptionID:
        type: string
    type: object
  structs.ClusterTopologyType:
    properties:
      pd:
        $ref: '#/definitions/structs.PD'
        type: object
      tidb:
        $ref: '#/definitions/structs.TiDB'
        type: object
      tiflash:
        $ref: '#/definitions/structs.TiFlash'
        type: object
      tikv:
        $ref: '#/definitions/structs.TiKV'
        type: object
    type: object
  structs.Dataplane:
    properties:
      clusterCAData:
        description: +optional
        type: string
      clusterEndpoint:
        description: +optional
        type: string
      clusterKubeConfig:
        description: |-
          +optional
          base64-encoded kubeconfig data
        type: string
      clusterName:
        type: string
    type: object
  structs.GCPAgentEnvironment:
    properties:
      gcpProject:
        type: string
      networkName:
        type: string
      subnets:
        items:
          type: string
        type: array
    type: object
  structs.MonitorInfo:
    properties:
      dnsName:
        type: string
      endpointServiceName:
        description: Storage             string `json:"storage" form:"storage"`
        type: string
      specID:
        type: string
      vmAccountID:
        type: string
      vmProjectID:
        type: string
    type: object
  structs.Observed:
    properties:
      clusterTopology:
        $ref: '#/definitions/structs.ClusterTopologyType'
        type: object
      tidbVersion:
        type: string
    type: object
  structs.PD:
    properties:
      replicas:
        type: integer
    type: object
  structs.StorageInfo:
    properties:
      bucketName:
        type: string
      category:
        type: string
      dataARN:
        type: string
      objectPath:
        type: string
      storageAccount:
        description: Keep the Go field name for compatibility while the public API
          stays on storageAccount.
        type: string
    type: object
  structs.TiDB:
    properties:
      replicas:
        type: integer
    type: object
  structs.TiFlash:
    properties:
      replicas:
        type: integer
    type: object
  structs.TiKV:
    properties:
      replicas:
        type: integer
    type: object
  structs.UpdateAlertRule:
    properties:
      alertName:
        type: string
      for:
        type: string
      oldFor:
        type: string
      oldStatus:
        type: string
      oldThreshold:
        type: number
      status:
        type: string
      threshold:
        type: number
    type: object
  structs.UserAlertInfo:
    properties:
      activeAt:
        type: integer
      alertName:
        description: alert name, the description label in alert rule.
        type: string
      changefeed:
        type: string
      duration:
        description: duration time in seconds, e.g. 1h2m0s
        type: string
      jobID:
        type: string
      message:
        description: alert message, the message label in alert rule.
        type: string
      ruleName:
        description: alert rule name, the alert name in alert rule.
        type: string
      severity:
        type: string
      status:
        type: string
      value:
        type: string
    type: object
host: localhost:8081
info:
  contact:
    email: zhangpeijin@pingcap.com
    name: zhangpeijin
  description: Observability RegionalServer API
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Observability RegionalServer API
  version: "1.0"
paths:
  /:
    get:
      consumes:
      - application/json
      description: get service info
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.GetServiceInfoResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: get service info
      tags:
      - service
  /alertrule-template/:
    post:
      consumes:
      - application/json
      description: modify alertrules template
      parameters:
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: templateID
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyAlertRulesTemplateResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: modify alertrules template
      tags:
      - cluster
  /alertrule-template/{id}:
    delete:
      consumes:
      - application/json
      description: delete alert rule template
      parameters:
      - description: template id
        in: path
        name: id
        required: true
        type: string
      - description: delete alert rule template
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.DeleteAlertRulesTemplateReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DeleteAlertRulesTemplateResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: delete alert rule template
      tags:
      - cluster
    get:
      consumes:
      - application/json
      description: query alert rule template
      parameters:
      - description: template id
        in: path
        name: id
        required: true
        type: string
      - description: delete alert rule template
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.QueryAlertRulesTemplateReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryAlertRulesTemplateResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: query alert rule template
      tags:
      - cluster
  /alertrule-template/logging/:
    post:
      consumes:
      - application/json
      description: apply log alert rules template
      parameters:
      - description: apply log alert rules request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ApplyLogAlertRulesReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyAlertRulesTemplateResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: apply log alert rules
      tags:
      - cluster
  /api/v2/observability/alertrule/templates/:
    get:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenAlertRuleTemplateList'
              type: object
      summary: Get alert rule templates
      tags:
      - AlertRule
  /api/v2/observability/alertrule/templates/{template_id}:
    get:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Template ID
        in: path
        name: template_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenAlertRule'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Get alert rule template detail
      tags:
      - AlertRule
  /api/v2/observability/clusters/:
    get:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Project ID
        in: query
        name: projectID
        type: string
      - description: Application ID
        in: query
        name: applicationID
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenClusterListResponse'
              type: object
      summary: Query cluster list
      tags:
      - Cluster
    post:
      consumes:
      - application/json
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Create request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.OpenCreateClusterRequest'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "409":
          description: Conflict
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: Create an observability cluster
      tags:
      - Cluster
  /api/v2/observability/clusters/{cluster_id}:
    delete:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Delete cluster
      tags:
      - Cluster
    get:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Get cluster details
      tags:
      - Cluster
  /api/v2/observability/clusters/{cluster_id}/{category}/config:
    put:
      consumes:
      - application/json
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      - description: Module name
        in: path
        name: module
        required: true
        type: string
      - description: Configuration
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.OpenModuleConfigRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/message.Result'
      summary: Update category configuration
      tags:
      - Cluster
  /api/v2/observability/clusters/{cluster_id}/{category}/status:
    put:
      consumes:
      - application/json
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      - description: category name
        in: path
        name: category
        required: true
        type: string
      - description: Status
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.OpenModuleStatusRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/message.Result'
      summary: Update category status
      tags:
      - Cluster
  /api/v2/observability/clusters/{cluster_id}/alertrule/:
    get:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenAlertRule'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Get alert rule template detail
      tags:
      - AlertRule
    put:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      - description: content
        in: body
        name: alert_rules
        required: true
        schema:
          $ref: '#/definitions/message.OpenAlertRule'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenAlertRule'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Get alert rule template detail
      tags:
      - AlertRule
  /api/v2/observability/clusters/{cluster_id}/pause:
    post:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
      summary: Pause cluster
      tags:
      - Cluster
  /api/v2/observability/clusters/{cluster_id}/resume:
    post:
      parameters:
      - description: Cloud vendor
        in: header
        name: x-vendor
        required: true
        type: string
      - description: Region
        in: header
        name: x-region
        required: true
        type: string
      - description: Organization ID
        in: header
        name: x-org-id
        required: true
        type: string
      - description: Cluster ID
        in: path
        name: cluster_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.OpenObservabilityCluster'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/message.Result'
        "401":
          description: Unauthorized
          schema:
            $ref: '#/definitions/message.Result'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/message.Result'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: Resume cluster
      tags:
      - Cluster
  /auth/:
    get:
      consumes:
      - application/json
      description: Routing and authentication for data link APIs
      parameters:
      - in: query
        name: apiKey
        type: string
      - in: query
        name: applicationID
        type: string
      - in: query
        name: bizType
        type: string
      - description: for next-gen api, ignore project in path
        in: query
        name: ignoreProject
        type: boolean
      - in: query
        name: path
        type: string
      - in: query
        name: tenantID
        type: string
      - description: for next-gen api, use o11yID in path
        in: query
        name: useO11yID
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.AuthRouteResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: Routing and authentication for data link APIs
      tags:
      - auth
  /clusters/:
    get:
      consumes:
      - application/json
      description: query clusters
      parameters:
      - in: query
        name: applicationID
        type: string
      - in: query
        name: bizType
        type: string
      - in: query
        name: continueToken
        type: string
      - in: query
        name: limit
        type: integer
      - in: query
        name: projectID
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: showDeleted
        type: boolean
      - in: query
        name: tenantID
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryClustersWithStorageResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: query clusters
      tags:
      - cluster
    post:
      consumes:
      - application/json
      description: create an observability cluster
      parameters:
      - description: create request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.CreateClusterReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateClusterResp'
              type: object
        "409":
          description: Conflict
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateClusterResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: create an observability cluster
      tags:
      - cluster
  /clusters/{id}:
    delete:
      consumes:
      - application/json
      description: delete a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: query
        name: bizType
        type: string
      - in: query
        name: agentAccessARN
        type: string
      - in: query
        name: bizType
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DeleteClusterResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: delete a cluster
      tags:
      - cluster
    get:
      consumes:
      - application/json
      description: show detail info of a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: query
        name: bizType
        type: string
      - in: query
        name: bizType
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DetailClusterResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: show detail info of a cluster
      tags:
      - cluster
    put:
      consumes:
      - application/json
      description: update a cluster's muteAlert, ruleTemplateID, or monitorSpecID
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: query
        name: bizType
        type: string
      - description: update cluster request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.UpdateClusterReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.UpdateClusterResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "409":
          description: Conflict
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: update a cluster
      tags:
      - cluster
  /clusters/{id}/agent-observed/:
    post:
      consumes:
      - application/json
      description: modify observed info for monitor agent
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: update monitor agent observed info
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ModifyAgentObservedReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyAgentObservedResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: modify observed info for monitor agent
      tags:
      - cluster
  /clusters/{id}/alert/mute:
    put:
      consumes:
      - application/json
      description: mute alert of a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.MuteClusterAlertResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: mute alert of a cluster
      tags:
      - cluster
  /clusters/{id}/alert/unmute:
    put:
      consumes:
      - application/json
      description: unmute alert of a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.UnmuteClusterAlertResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: unmute alert of a cluster
      tags:
      - cluster
  /clusters/{id}/monitor-mode/:
    put:
      consumes:
      - application/json
      description: adjust spec of monitor share mode
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: update monitor share mode request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ModifyMonitorModeReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyMonitorModeResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: adjust spec of monitor share mode
      tags:
      - cluster
  /clusters/{id}/monitor-resource/:
    post:
      consumes:
      - application/json
      description: adjust spec of monitor resource
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: update monitor storage resource
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ModifyMonitorResourceReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyMonitorResourceResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: adjust spec of monitor resource
      tags:
      - cluster
  /clusters/{id}/monitor-spec/:
    put:
      consumes:
      - application/json
      description: adjust spec of monitor spec
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: update monitor spec request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ModifyMonitorSpecReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyMonitorSpecResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: adjust spec of monitor spec
      tags:
      - cluster
  /clusters/{id}/monitor-storage/:
    post:
      consumes:
      - application/json
      description: adjust spec of monitor storage
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: update monitor storage request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.ModifyMonitorStorageReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ModifyMonitorStorageResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: adjust spec of monitor storage
      tags:
      - cluster
  /clusters/{id}/pause:
    put:
      consumes:
      - application/json
      description: pause a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.PauseClusterResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: pause a cluster
      tags:
      - cluster
  /clusters/{id}/pause-reconcile:
    put:
      consumes:
      - application/json
      description: Pause reconciliation of cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - description: pause reconciliation request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.PauseReconcileReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/message.Result'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "405":
          description: Method Not Allowed
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: Pause reconciliation
      tags:
      - cluster
  /clusters/{id}/resume:
    put:
      consumes:
      - application/json
      description: resume a cluster
      parameters:
      - description: cluster id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.ResumeClusterResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: resume a cluster
      tags:
      - cluster
  /external/{bizType}/orgs/{tenantID}/clusters/{applicationID}/:
    get:
      consumes:
      - application/json
      description: get cluster info for web console
      parameters:
      - description: bizType, for staging, use staging-tidbcloud-nextgen, others,
          use tidbcloud-nextgen
        in: path
        name: bizType
        required: true
        type: string
      - description: tenant id
        in: path
        name: tenantID
        required: true
        type: string
      - description: application id
        in: path
        name: applicationID
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.GetClusterExternalResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: get cluster info for web console
      tags:
      - external
  /external/{bizType}/orgs/{tenantID}/projects/{projectID}/clusters/{applicationID}/alerts:
    get:
      consumes:
      - application/json
      description: list all user alerts belongs to specific cluster
      parameters:
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: path
        name: bizType
        required: true
        type: string
      - description: tenant id
        in: path
        name: tenantID
        required: true
        type: string
      - description: project id
        in: path
        name: projectID
        required: true
        type: string
      - description: application id
        in: path
        name: applicationID
        required: true
        type: string
      - description: endTime of alerts, unix timestamp
        in: query
        name: endTime
        type: integer
      - in: query
        name: limit
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: region
        required: true
        type: string
      - description: severity with lowercase, oneof warning, critical
        in: query
        name: severity
        type: string
      - description: startTime of alerts, unix timestamp
        in: query
        name: startTime
        type: integer
      - description: alert state with lowercase, one of active closed all
        in: query
        name: status
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryExternalAlertsResp'
              type: object
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/message.Result'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: list cluster alerts
      tags:
      - external
  /external/{bizType}/orgs/{tenantID}/projects/{projectID}/clusters/{applicationID}/monitor-alertrules:
    get:
      consumes:
      - application/json
      description: query prometheusrules
      parameters:
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: path
        name: bizType
        required: true
        type: string
      - description: tenant id
        in: path
        name: tenantID
        required: true
        type: string
      - description: project id
        in: path
        name: projectID
        required: true
        type: string
      - description: application id
        in: path
        name: applicationID
        required: true
        type: string
      - in: query
        name: region
        required: true
        type: string
      - in: query
        name: vendor
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryAlertRulesByCloudUserResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: query prometheusrules
      tags:
      - external
    put:
      consumes:
      - application/json
      description: update alert rules
      parameters:
      - description: bizType, for staging, use staging-tidbcloud, others, use tidbcloud
        in: path
        name: bizType
        required: true
        type: string
      - description: tenant id
        in: path
        name: tenantID
        required: true
        type: string
      - description: project id
        in: path
        name: projectID
        required: true
        type: string
      - description: application id
        in: path
        name: applicationID
        required: true
        type: string
      - description: update alert rule request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.UpdateAlertRulesByCloudUserReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.UpdateAlertRulesByCloudUserResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: update alert rules by cloud user
      tags:
      - external
  /health:
    get:
      consumes:
      - application/json
      description: get service health
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.GetServiceHealthResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: get service health
      tags:
      - service
  /integrationtasks/:
    get:
      consumes:
      - application/json
      description: query integration tasks with filters
      parameters:
      - in: query
        name: dataType
        type: string
      - in: query
        name: pageSize
        type: integer
      - in: query
        name: pageToken
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryIntegrationTasksResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: query integration tasks
      tags:
      - integrationtask
    post:
      consumes:
      - application/json
      description: create an integration task for data processing
      parameters:
      - description: create integration task request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.CreateIntegrationTaskReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateIntegrationTaskResp'
              type: object
        "409":
          description: Conflict
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateIntegrationTaskResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: create an integration task
      tags:
      - integrationtask
  /integrationtasks/{id}:
    delete:
      consumes:
      - application/json
      description: delete an integration task
      parameters:
      - description: integration task id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DeleteIntegrationTaskResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: delete an integration task
      tags:
      - integrationtask
    get:
      consumes:
      - application/json
      description: show detail info of an integration task
      parameters:
      - description: integration task id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DetailIntegrationTaskResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: show detail info of an integration task
      tags:
      - integrationtask
    put:
      consumes:
      - application/json
      description: update an integration task
      parameters:
      - description: integration task id
        in: path
        name: id
        required: true
        type: string
      - description: update integration task request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.UpdateIntegrationTaskReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.UpdateIntegrationTaskResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: update an integration task
      tags:
      - integrationtask
  /internal/monitoringPipelines:
    get:
      consumes:
      - application/json
      description: query integration tasks for internal services
      parameters:
      - in: query
        name: dataType
        type: string
      - in: query
        name: pageSize
        type: integer
      - in: query
        name: pageToken
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.QueryIntegrationTasksResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: query integration tasks (internal)
      tags:
      - integrationtask
  /internal/monitoringPipelines/{id}:
    get:
      consumes:
      - application/json
      description: show detail info of an integration task for internal services
      parameters:
      - description: integration task id
        in: path
        name: id
        required: true
        type: string
      - in: query
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.DetailIntegrationTaskResp'
              type: object
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/message.Result'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: show detail info of an integration task (internal)
      tags:
      - integrationtask
  /monitoringPipelines:
    post:
      consumes:
      - application/json
      description: create an integration task for vector agent data processing
      parameters:
      - description: create integration task request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/message.CreateIntegrationTaskReq'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateIntegrationTaskResp'
              type: object
        "409":
          description: Conflict
          schema:
            allOf:
            - $ref: '#/definitions/message.Result'
            - properties:
                data:
                  $ref: '#/definitions/message.CreateIntegrationTaskResp'
              type: object
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/message.Result'
      summary: create an integration task (internal)
      tags:
      - integrationtask
swagger: "2.0"
