{
  "swagger": "2.0",
  "info": {
    "title": "global/nextgen/v1/resource_pool.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "ResourcePoolService"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {},
  "definitions": {
    "CreateResourcePoolRequestDemand": {
      "type": "object",
      "properties": {
        "initialRcu": {
          "type": "integer",
          "format": "int64"
        },
        "tikvData": {
          "$ref": "#/definitions/v1CreateResourcePoolRequestStorage"
        },
        "tikvRaftlog": {
          "$ref": "#/definitions/v1CreateResourcePoolRequestStorage"
        },
        "tiflashCn": {
          "$ref": "#/definitions/v1CreateResourcePoolRequestStorage"
        },
        "tiflashWn": {
          "$ref": "#/definitions/v1CreateResourcePoolRequestStorage"
        }
      },
      "required": [
        "initialRcu",
        "tikvData",
        "tikvRaftlog",
        "tiflashCn",
        "tiflashWn"
      ]
    },
    "ListOwnerResourcePoolsResponseRegionResourcePools": {
      "type": "object",
      "properties": {
        "providerId": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1CloudProviderName"
            }
          ]
        },
        "regionId": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1RegionName"
            }
          ]
        },
        "resourcePools": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ResourcePoolProfile"
          },
          "readOnly": true
        },
        "strategy": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolStrategy"
            }
          ]
        },
        "servicePlan": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/commonv1ServicePlan"
            }
          ]
        }
      }
    },
    "ListResourcePoolsRequestView": {
      "type": "string",
      "enum": [
        "BASIC",
        "DETAIL"
      ]
    },
    "ResourcePoolLifecycleState": {
      "type": "string",
      "enum": [
        "CREATING",
        "ACTIVE",
        "MODIFYING",
        "FAILED",
        "PAUSING",
        "PAUSED",
        "RESUMING",
        "PAUSE_PRECHECKING"
      ],
      "description": " - PAUSE_PRECHECKING: Internal preparation state used while optional pre-Pause manual backups\nand the authoritative Pause precheck are running. Public APIs expose\nthis state as ACTIVE."
    },
    "ResourcePoolOwnerType": {
      "type": "string",
      "enum": [
        "SHARED",
        "ORGANIZATION"
      ]
    },
    "ResourcePoolProfileInstance": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "ResourcePoolVcpuLimitMode": {
      "type": "string",
      "enum": [
        "INHERITED",
        "LIMITED",
        "UNLIMITED"
      ]
    },
    "commonv1RegionState": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "INACTIVE"
      ]
    },
    "commonv1ServicePlan": {
      "type": "string",
      "enum": [
        "Starter",
        "Essential",
        "Premium",
        "BYOC",
        "Premium_Reserved",
        "Essential_V2"
      ]
    },
    "globalcommonv1Region": {
      "type": "object",
      "properties": {
        "id": {
          "$ref": "#/definitions/v1RegionName"
        },
        "cloudProviderId": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "displayName": {
          "type": "string",
          "title": "display name of the region"
        },
        "openedTenantIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          },
          "title": "if public is false, only these tenants can use this region"
        },
        "sortPriority": {
          "type": "integer",
          "format": "int32",
          "title": "not used now"
        },
        "area": {
          "type": "string",
          "title": "for example: Europe, Americas"
        },
        "countryCode": {
          "type": "string",
          "title": "such as: CN, US"
        },
        "state": {
          "title": "region state, if state is inactive, the region is not available, can not use it",
          "allOf": [
            {
              "$ref": "#/definitions/commonv1RegionState"
            }
          ]
        },
        "isPublic": {
          "type": "boolean",
          "title": "whether the region is public, if true, all organizations can use it"
        },
        "defaultBackupTime": {
          "type": "string",
          "title": "cluster's default auto backup time in this region(dataflow-service), such as \"10:00\""
        },
        "serviceAddress": {
          "type": "string",
          "title": "regional service address"
        },
        "logicalName": {
          "type": "string",
          "title": "logic region name, such as \"cn-north-1\" , if local name is not equal to id , is a byoc region and only set public to false"
        },
        "servicePlan": {
          "title": "service plan of the region, if not set, use default service plan",
          "allOf": [
            {
              "$ref": "#/definitions/commonv1ServicePlan"
            }
          ]
        },
        "sharedBucketUrl": {
          "type": "string",
          "x-nullable": true,
          "title": "shared bucket url of the region, if not set, keep empty"
        },
        "opsAuditLogSetting": {
          "title": "ops audit log setting of the region",
          "allOf": [
            {
              "$ref": "#/definitions/v1RegionOpsAuditLogSetting"
            }
          ]
        },
        "regionWhiteLists": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1RegionWhiteList"
          }
        },
        "engineType": {
          "$ref": "#/definitions/v1RegionEngineType"
        },
        "sys9Config": {
          "$ref": "#/definitions/v1RegionSys9Config"
        }
      },
      "required": [
        "id",
        "cloudProviderId",
        "displayName"
      ]
    },
    "globalnextgenv1ComponentType": {
      "type": "string",
      "enum": [
        "TIDB",
        "TIKV",
        "PD",
        "TIPROXY",
        "TIDB_WORKER",
        "TIKV_WORKER",
        "COPROCESSOR_WORKER",
        "TIFLASH_WRITE",
        "TIFLASH_COMPUTE",
        "PD_TSO",
        "PD_SCHEDULING",
        "SCHEMA_MANAGER"
      ]
    },
    "googlerpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]."
        },
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client."
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          },
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use."
        }
      },
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors)."
    },
    "nextgenv1CapacityConstraintReason": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "readOnly": true
        },
        "message": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "nextgenv1ComponentCapacity": {
      "type": "object",
      "properties": {
        "nodeSpec": {
          "$ref": "#/definitions/nextgenv1NodeSpecSelection"
        },
        "nodeCount": {
          "type": "string",
          "format": "int64",
          "x-nullable": true
        },
        "storages": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1Storage"
          }
        }
      }
    },
    "nextgenv1ComponentCapacityConstraints": {
      "type": "object",
      "properties": {
        "blockingReasons": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1CapacityConstraintReason"
          },
          "readOnly": true
        },
        "nodeCount": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1NodeCountConstraints"
            }
          ]
        },
        "nodeSpec": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1NodeSpecConstraints"
            }
          ]
        }
      }
    },
    "nextgenv1ListResourcePoolsResponse": {
      "type": "object",
      "properties": {
        "resourcePools": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ResourcePoolProfile"
          }
        },
        "totalSize": {
          "type": "integer",
          "format": "int32"
        },
        "nextPageToken": {
          "type": "string"
        }
      }
    },
    "nextgenv1NodeCountConstraints": {
      "type": "object",
      "properties": {
        "current": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "min": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "max": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "rule": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1NodeCountRule"
            }
          ]
        },
        "allowCrossZero": {
          "type": "boolean",
          "readOnly": true
        }
      }
    },
    "nextgenv1NodeCountRule": {
      "type": "object",
      "properties": {
        "type": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1NodeCountRuleType"
            }
          ]
        },
        "value": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "nextgenv1NodeCountRuleType": {
      "type": "string",
      "enum": [
        "NODE_COUNT_RULE_TYPE_NONE",
        "NODE_COUNT_RULE_TYPE_MULTIPLE_OF",
        "NODE_COUNT_RULE_TYPE_FIXED"
      ]
    },
    "nextgenv1NodeSpecCandidate": {
      "type": "object",
      "properties": {
        "nodeSpec": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolNodeSpec"
            }
          ]
        },
        "available": {
          "type": "boolean",
          "readOnly": true
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1CapacityConstraintReason"
          },
          "readOnly": true
        }
      }
    },
    "nextgenv1NodeSpecComponentType": {
      "type": "string",
      "enum": [
        "NODE_SPEC_COMPONENT_TYPE_TIKV",
        "NODE_SPEC_COMPONENT_TYPE_TIFLASH"
      ]
    },
    "nextgenv1NodeSpecConstraints": {
      "type": "object",
      "properties": {
        "current": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolNodeSpec"
            }
          ]
        },
        "candidates": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1NodeSpecCandidate"
          },
          "readOnly": true
        }
      }
    },
    "nextgenv1NodeSpecSelection": {
      "type": "object",
      "properties": {
        "cpu": {
          "type": "string",
          "format": "int64"
        },
        "memoryGi": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "nextgenv1NodeSpecStorage": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true
        },
        "defaultSizeGi": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "minSizeGi": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "maxSizeGi": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "resizable": {
          "type": "boolean",
          "x-nullable": true,
          "readOnly": true
        },
        "currentSizeGi": {
          "type": "string",
          "format": "int64",
          "x-nullable": true,
          "readOnly": true
        }
      }
    },
    "nextgenv1ResizeResourcePoolCapacityResponse": {
      "type": "object",
      "properties": {
        "currentCapacity": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolCapacity"
            }
          ]
        },
        "targetCapacity": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolCapacity"
            }
          ]
        }
      }
    },
    "nextgenv1ResourcePool": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "name": {
          "type": "string"
        },
        "providerId": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "regionId": {
          "$ref": "#/definitions/v1RegionName"
        },
        "ownerType": {
          "$ref": "#/definitions/ResourcePoolOwnerType"
        },
        "ownerId": {
          "type": "string",
          "format": "uint64"
        },
        "cidr": {
          "type": "string"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "instanceLimit": {
          "type": "string",
          "format": "uint64"
        },
        "k8sServiceCidr": {
          "type": "string"
        },
        "configMetaProfileId": {
          "type": "string"
        },
        "dataplaneId": {
          "type": "string",
          "readOnly": true
        },
        "providerIdentityId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "vcpusLimit": {
          "type": "string",
          "format": "uint64"
        },
        "pcaArn": {
          "type": "string"
        },
        "providerIdentity": {
          "type": "string"
        },
        "placementGroupEnabled": {
          "type": "boolean",
          "description": "placement_group_enabled requests placement-group isolation for the underlying nodes.\nSupported for AWS resource pools (SHARED with Essential_V2, or ORGANIZATION with BYOC/Premium). Immutable after create."
        },
        "highAvailabilityType": {
          "description": "The availability scope requested for the resource pool placement.\nApplies to any service plan that supports single-AZ or multi-AZ resource pools.",
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolHighAvailabilityType"
            }
          ]
        },
        "zoneConfig": {
          "description": "Optional placement details. If omitted, dataplane-manager chooses zones from its regional defaults.",
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolZoneConfig"
            }
          ]
        },
        "lifecycleState": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/ResourcePoolLifecycleState"
            }
          ]
        },
        "stateMessageCode": {
          "type": "string",
          "readOnly": true
        },
        "vcpuLimitMode": {
          "$ref": "#/definitions/ResourcePoolVcpuLimitMode"
        },
        "cloudResourceTags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "createdBy": {
          "type": "string",
          "readOnly": true
        },
        "instanceCount": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "pausedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "automaticResumeAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "name",
        "providerId",
        "regionId",
        "ownerType",
        "ownerId",
        "cidr",
        "servicePlan"
      ]
    },
    "nextgenv1ResourcePoolCapacity": {
      "type": "object",
      "properties": {
        "tikv": {
          "$ref": "#/definitions/nextgenv1ComponentCapacity"
        },
        "tiflash": {
          "$ref": "#/definitions/nextgenv1ComponentCapacity"
        }
      }
    },
    "nextgenv1ResourcePoolCapacityConstraints": {
      "type": "object",
      "properties": {
        "resourcePoolId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "currentCapacity": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolCapacity"
            }
          ]
        },
        "tikv": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ComponentCapacityConstraints"
            }
          ]
        },
        "tiflash": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ComponentCapacityConstraints"
            }
          ]
        }
      }
    },
    "nextgenv1ResourcePoolHighAvailabilityType": {
      "type": "string",
      "enum": [
        "REGIONAL",
        "ZONAL"
      ]
    },
    "nextgenv1ResourcePoolZoneConfig": {
      "type": "object",
      "properties": {
        "nodeZones": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Explicit node zones for the dataplane nodes.\nMust contain exactly 1 zone for ZONAL pools or exactly 3 zones for REGIONAL pools."
        }
      }
    },
    "nextgenv1ResumeResourcePoolResponse": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "nextgenv1Storage": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "sizeGi": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "nextgenv1UpsertResourcePoolCloudResourceTagsResponse": {
      "type": "object",
      "properties": {
        "cloudResourceTags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
        }
      },
      "additionalProperties": {},
      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(\u0026foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := \u0026pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := \u0026pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": \u003cstring\u003e,\n      \"lastName\": \u003cstring\u003e\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    },
    "v1BeginPauseResourcePoolAdmissionResponse": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string",
          "readOnly": true
        },
        "validationResults": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ResourcePoolPauseValidationResult"
          },
          "readOnly": true
        }
      }
    },
    "v1CloudProviderName": {
      "type": "string",
      "enum": [
        "AWS",
        "GCP",
        "AZURE",
        "ALICLOUD"
      ],
      "description": "Refer to terraform provider name: https://registry.terraform.io/browse/providers."
    },
    "v1CreateResourcePoolRequestStorage": {
      "type": "object",
      "properties": {
        "storageType": {
          "$ref": "#/definitions/v1ResourcePoolProfileStorageType"
        },
        "diskSizeGi": {
          "type": "integer",
          "format": "int64"
        },
        "diskIops": {
          "type": "integer",
          "format": "int64"
        },
        "diskThroughputMbps": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": [
        "storageType"
      ]
    },
    "v1ListOwnerResourcePoolsResponse": {
      "type": "object",
      "properties": {
        "regionResourcePools": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ListOwnerResourcePoolsResponseRegionResourcePools"
          },
          "readOnly": true
        }
      }
    },
    "v1PauseResourcePoolResponse": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string",
          "description": "Populated only when Pause is accepted and its workflow is created or replayed.",
          "readOnly": true
        },
        "validationResults": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ResourcePoolPauseValidationResult"
          },
          "description": "Populated when validation finds blockers, including for an actual Pause request.\nAn empty list means Pause is currently allowed or has been accepted.",
          "readOnly": true
        }
      }
    },
    "v1PdDeploymentMode": {
      "type": "string",
      "enum": [
        "PD_DEPLOYMENT_MODE_MICROSERVICE",
        "PD_DEPLOYMENT_MODE_MONOLITHIC"
      ]
    },
    "v1RegionEngineType": {
      "type": "string",
      "enum": [
        "MYSQL_COMPATIBLE",
        "POSTGRESQL_COMPATIBLE"
      ]
    },
    "v1RegionName": {
      "type": "string",
      "enum": [
        "AWS_US_EAST_2",
        "AWS_US_EAST_1",
        "AWS_US_WEST_1",
        "AWS_US_WEST_2",
        "AWS_AF_SOUTH_1",
        "AWS_AP_EAST_1",
        "AWS_AP_SOUTH_2",
        "AWS_AP_SOUTHEAST_3",
        "AWS_AP_SOUTHEAST_4",
        "AWS_AP_SOUTH_1",
        "AWS_AP_NORTHEAST_3",
        "AWS_AP_NORTHEAST_2",
        "AWS_AP_SOUTHEAST_1",
        "AWS_AP_SOUTHEAST_2",
        "AWS_AP_NORTHEAST_1",
        "AWS_CA_CENTRAL_1",
        "AWS_CA_WEST_1",
        "AWS_EU_CENTRAL_1",
        "AWS_EU_WEST_1",
        "AWS_EU_WEST_2",
        "AWS_EU_SOUTH_1",
        "AWS_EU_WEST_3",
        "AWS_EU_SOUTH_2",
        "AWS_EU_NORTH_1",
        "AWS_EU_CENTRAL_2",
        "AWS_IL_CENTRAL_1",
        "AWS_ME_SOUTH_1",
        "AWS_ME_CENTRAL_1",
        "AWS_SA_EAST_1",
        "AWS_AP_SOUTHEAST_5",
        "AWS_AP_SOUTHEAST_6",
        "AWS_AP_SOUTHEAST_7",
        "AWS_MX_CENTRAL_1",
        "GCP_ASIA_EAST1",
        "GCP_ASIA_EAST2",
        "GCP_ASIA_NORTHEAST1",
        "GCP_ASIA_NORTHEAST2",
        "GCP_ASIA_NORTHEAST3",
        "GCP_ASIA_SOUTH1",
        "GCP_ASIA_SOUTH2",
        "GCP_ASIA_SOUTHEAST1",
        "GCP_ASIA_SOUTHEAST2",
        "GCP_AUSTRALIA_SOUTHEAST1",
        "GCP_AUSTRALIA_SOUTHEAST2",
        "GCP_EUROPE_CENTRAL2",
        "GCP_EUROPE_NORTH1",
        "GCP_EUROPE_SOUTHWEST1",
        "GCP_EUROPE_WEST1",
        "GCP_EUROPE_WEST10",
        "GCP_EUROPE_WEST12",
        "GCP_EUROPE_WEST2",
        "GCP_EUROPE_WEST3",
        "GCP_EUROPE_WEST4",
        "GCP_EUROPE_WEST6",
        "GCP_EUROPE_WEST8",
        "GCP_EUROPE_WEST9",
        "GCP_ME_CENTRAL1",
        "GCP_ME_CENTRAL2",
        "GCP_ME_WEST1",
        "GCP_NORTHAMERICA_NORTHEAST1",
        "GCP_NORTHAMERICA_NORTHEAST2",
        "GCP_SOUTHAMERICA_EAST1",
        "GCP_SOUTHAMERICA_WEST1",
        "GCP_US_CENTRAL1",
        "GCP_US_EAST1",
        "GCP_US_EAST4",
        "GCP_US_EAST5",
        "GCP_US_SOUTH1",
        "GCP_US_WEST1",
        "GCP_US_WEST2",
        "GCP_US_WEST3",
        "GCP_US_WEST4",
        "AZURE_EASTUS",
        "AZURE_SOUTHCENTRALUS",
        "AZURE_WESTUS2",
        "AZURE_WESTUS3",
        "AZURE_AUSTRALIAEAST",
        "AZURE_SOUTHEASTASIA",
        "AZURE_NORTHEUROPE",
        "AZURE_SWEDENCENTRAL",
        "AZURE_UKSOUTH",
        "AZURE_WESTEUROPE",
        "AZURE_CENTRALUS",
        "AZURE_SOUTHAFRICANORTH",
        "AZURE_CENTRALINDIA",
        "AZURE_EASTASIA",
        "AZURE_JAPANEAST",
        "AZURE_KOREACENTRAL",
        "AZURE_CANADACENTRAL",
        "AZURE_FRANCECENTRAL",
        "AZURE_GERMANYWESTCENTRAL",
        "AZURE_ITALYNORTH",
        "AZURE_NORWAYEAST",
        "AZURE_POLANDCENTRAL",
        "AZURE_SPAINCENTRAL",
        "AZURE_SWITZERLANDNORTH",
        "AZURE_MEXICOCENTRAL",
        "AZURE_UAENORTH",
        "AZURE_BRAZILSOUTH",
        "AZURE_ISRAELCENTRAL",
        "AZURE_QATARCENTRAL",
        "AZURE_CENTRALUSSTAGE",
        "AZURE_EASTUSSTAGE",
        "AZURE_EASTUS2STAGE",
        "AZURE_NORTHCENTRALUSSTAGE",
        "AZURE_SOUTHCENTRALUSSTAGE",
        "AZURE_WESTUSSTAGE",
        "AZURE_WESTUS2STAGE",
        "AZURE_ASIA",
        "AZURE_ASIAPACIFIC",
        "AZURE_AUSTRALIA",
        "AZURE_BRAZIL",
        "AZURE_CANADA",
        "AZURE_EUROPE",
        "AZURE_FRANCE",
        "AZURE_GERMANY",
        "AZURE_GLOBAL",
        "AZURE_INDIA",
        "AZURE_ISRAEL",
        "AZURE_ITALY",
        "AZURE_JAPAN",
        "AZURE_KOREA",
        "AZURE_NEWZEALAND",
        "AZURE_NORWAY",
        "AZURE_POLAND",
        "AZURE_QATAR",
        "AZURE_SINGAPORE",
        "AZURE_SOUTHAFRICA",
        "AZURE_SWEDEN",
        "AZURE_SWITZERLAND",
        "AZURE_UAE",
        "AZURE_UK",
        "AZURE_UNITEDSTATES",
        "AZURE_UNITEDSTATESEUAP",
        "AZURE_EASTASIASTAGE",
        "AZURE_SOUTHEASTASIASTAGE",
        "AZURE_BRAZILUS",
        "AZURE_EASTUS2",
        "AZURE_EASTUSSTG",
        "AZURE_NORTHCENTRALUS",
        "AZURE_WESTUS",
        "AZURE_JAPANWEST",
        "AZURE_JIOINDIAWEST",
        "AZURE_CENTRALUSEUAP",
        "AZURE_EASTUS2EUAP",
        "AZURE_WESTCENTRALUS",
        "AZURE_SOUTHAFRICAWEST",
        "AZURE_AUSTRALIACENTRAL",
        "AZURE_AUSTRALIACENTRAL2",
        "AZURE_AUSTRALIASOUTHEAST",
        "AZURE_JIOINDIACENTRAL",
        "AZURE_KOREASOUTH",
        "AZURE_SOUTHINDIA",
        "AZURE_WESTINDIA",
        "AZURE_CANADAEAST",
        "AZURE_FRANCESOUTH",
        "AZURE_GERMANYNORTH",
        "AZURE_NORWAYWEST",
        "AZURE_SWITZERLANDWEST",
        "AZURE_UKWEST",
        "AZURE_UAECENTRAL",
        "AZURE_BRAZILSOUTHEAST",
        "ALICLOUD_AP_SOUTHEAST_1",
        "ALICLOUD_AP_NORTHEAST_1",
        "ALICLOUD_AP_NORTHEAST_2",
        "ALICLOUD_AP_SOUTHEAST_3",
        "ALICLOUD_AP_SOUTHEAST_5",
        "ALICLOUD_AP_SOUTHEAST_6",
        "ALICLOUD_AP_SOUTHEAST_7",
        "ALICLOUD_NA_SOUTH_1",
        "ALICLOUD_US_WEST_1",
        "ALICLOUD_US_EAST_1",
        "ALICLOUD_EU_CENTRAL_1",
        "ALICLOUD_EU_WEST_1",
        "ALICLOUD_ME_EAST_1",
        "ALICLOUD_ME_CENTRAL_1",
        "ALICLOUD_CN_HONGKONG"
      ],
      "description": "- AWS_US_EAST_2: AWS.\n - GCP_ASIA_EAST1: GCP.\n - AZURE_EASTUS: Azure\n - ALICLOUD_AP_SOUTHEAST_1: AliCloud",
      "title": "Refer to:\n  - AWS: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints.\n  - GCP: https://console.cloud.google.com/compute/zones\n  - Azure: https://gist.github.com/ausfestivus/04e55c7d80229069bf3bc75870630ec8"
    },
    "v1RegionOpsAuditLogSetting": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "logLocation": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingLogLocation"
        },
        "logRotation": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingLogRotation"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "v1RegionOpsAuditLogSettingLogLocation": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingType"
        },
        "bucketUri": {
          "type": "string"
        },
        "roleArn": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "accountId": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "bucketUri",
        "roleArn",
        "externalId",
        "accountId"
      ]
    },
    "v1RegionOpsAuditLogSettingLogRotation": {
      "type": "object",
      "properties": {
        "fileSizeLimitInMb": {
          "type": "string",
          "format": "uint64"
        },
        "rotationIntervalInMin": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": [
        "fileSizeLimitInMb",
        "rotationIntervalInMin"
      ]
    },
    "v1RegionOpsAuditLogSettingType": {
      "type": "string",
      "enum": [
        "TYPE_STANDARD",
        "TYPE_CUSTOMIZED"
      ]
    },
    "v1RegionSys9Config": {
      "type": "object",
      "properties": {
        "oemProfileRef": {
          "type": "string"
        },
        "authMode": {
          "type": "string"
        },
        "tokenTtlSec": {
          "type": "integer",
          "format": "int64"
        },
        "sessionRefreshBeforeSec": {
          "type": "integer",
          "format": "int64"
        },
        "retryPolicyRef": {
          "type": "string"
        }
      }
    },
    "v1RegionWhiteList": {
      "type": "object",
      "properties": {
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "isPublic": {
          "type": "boolean"
        },
        "openedTenantIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        }
      },
      "required": [
        "servicePlan"
      ]
    },
    "v1ResolvePauseResourcePoolAdmissionResponse": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string",
          "readOnly": true
        },
        "validationResults": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ResourcePoolPauseValidationResult"
          },
          "readOnly": true
        }
      }
    },
    "v1ResourcePoolBootstrapCapacity": {
      "type": "object",
      "properties": {
        "tikv": {
          "$ref": "#/definitions/nextgenv1ComponentCapacity"
        },
        "tiflash": {
          "$ref": "#/definitions/nextgenv1ComponentCapacity"
        }
      },
      "required": [
        "tikv"
      ]
    },
    "v1ResourcePoolNodeSpec": {
      "type": "object",
      "properties": {
        "nodeSpecKey": {
          "type": "string",
          "readOnly": true
        },
        "displayName": {
          "type": "string",
          "readOnly": true
        },
        "componentType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1NodeSpecComponentType"
            }
          ]
        },
        "cpu": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "memoryGi": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "isDefault": {
          "type": "boolean",
          "readOnly": true
        },
        "storages": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1NodeSpecStorage"
          },
          "readOnly": true
        }
      }
    },
    "v1ResourcePoolPauseResumeOperation": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string",
          "readOnly": true
        },
        "resourcePoolId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "type": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolPauseResumeOperationType"
            }
          ]
        },
        "status": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolPauseResumeOperationStatus"
            }
          ]
        },
        "resultSummary": {
          "type": "string",
          "readOnly": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "v1ResourcePoolPauseResumeOperationStatus": {
      "type": "string",
      "enum": [
        "RUNNING",
        "SUCCEEDED",
        "FAILED"
      ]
    },
    "v1ResourcePoolPauseResumeOperationType": {
      "type": "string",
      "enum": [
        "OPERATION_PAUSE",
        "OPERATION_RESUME"
      ]
    },
    "v1ResourcePoolPauseValidationResult": {
      "type": "object",
      "properties": {
        "checkCode": {
          "type": "string",
          "description": "A stable code from Global or the authoritative Regional validation owner.\nFor the minimal Ops-only contract, Regional codes may be returned as-is.",
          "readOnly": true
        },
        "detail": {
          "type": "string",
          "description": "A safe detail that can be shown to the Ops caller.",
          "readOnly": true
        }
      }
    },
    "v1ResourcePoolProfile": {
      "type": "object",
      "properties": {
        "resourcePool": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePool"
            }
          ]
        },
        "isDefault": {
          "type": "boolean",
          "readOnly": true
        },
        "instances": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ResourcePoolProfileInstance"
          },
          "readOnly": true
        },
        "version": {
          "type": "string",
          "readOnly": true
        },
        "tikvDataStorageType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolProfileStorageType"
            }
          ]
        },
        "tikvRaftlogStorageType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolProfileStorageType"
            }
          ]
        },
        "tiflashCnStorageType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolProfileStorageType"
            }
          ]
        },
        "tiflashWnStorageType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ResourcePoolProfileStorageType"
            }
          ]
        },
        "region": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalcommonv1Region"
            }
          ]
        },
        "pdDeploymentMode": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1PdDeploymentMode"
            }
          ]
        },
        "enabledTikvRemoteWorkers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/globalnextgenv1ComponentType"
          },
          "description": "Enabled TiKV remote worker components.\nCurrently only TIKV_WORKER and COPROCESSOR_WORKER are supported.\nIf unset or empty, CSNG applies its default worker set.",
          "readOnly": true
        },
        "defaultOrgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "For Essential_V2 shared pools, lists the organization IDs that have set\nthis pool as their org-level default.",
          "readOnly": true
        },
        "capacity": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ResourcePoolCapacity"
            }
          ]
        },
        "provisionedDatabaseVcpus": {
          "type": "string",
          "format": "int64",
          "x-nullable": true,
          "readOnly": true
        },
        "o11yClusterCidr": {
          "type": "string",
          "x-nullable": true,
          "readOnly": true
        }
      }
    },
    "v1ResourcePoolProfileStorageType": {
      "type": "string",
      "enum": [
        "GP3",
        "IO2",
        "LocalSSD",
        "CloudESSD",
        "CloudAuto",
        "PremiumSSDV2"
      ]
    },
    "v1ResourcePoolStrategy": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "defaultResourcePoolId": {
          "type": "string",
          "format": "uint64"
        },
        "providerId": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "regionId": {
          "$ref": "#/definitions/v1RegionName"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "organizationId",
        "defaultResourcePoolId",
        "providerId",
        "regionId",
        "servicePlan"
      ]
    },
    "v1TiflashMode": {
      "type": "string",
      "enum": [
        "TIFLASH_MODE_AUTO",
        "TIFLASH_MODE_LEGACY",
        "TIFLASH_MODE_COLUMNAR"
      ]
    }
  }
}
