{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "mtlsRootUrl": "https://gkemulticloud.mtls.googleapis.com/",
  "batchPath": "batch",
  "kind": "discovery#restDescription",
  "fullyEncodeReservedExpansion": true,
  "discoveryVersion": "v1",
  "version": "v1",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "getAttachedServerConfig": {
              "description": "Returns information, such as supported Kubernetes versions, on a given Google Cloud location.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "GoogleCloudGkemulticloudV1AttachedServerConfig"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedServerConfig",
              "parameterOrder": [
                "name"
              ],
              "id": "gkemulticloud.projects.locations.getAttachedServerConfig",
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+/attachedServerConfig$",
                  "description": "Required. The name of the AttachedServerConfig resource to describe. `AttachedServerConfig` names are formatted as `projects//locations//attachedServerConfig`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              }
            },
            "generateAttachedClusterInstallManifest": {
              "response": {
                "$ref": "GoogleCloudGkemulticloudV1GenerateAttachedClusterInstallManifestResponse"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateAttachedClusterInstallManifest",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Generates the install manifest to be installed on the target cluster.",
              "httpMethod": "GET",
              "parameters": {
                "attachedClusterId": {
                  "description": "Required. A client provided ID of the resource. Must be unique within the parent resource. The provided ID will be part of the AttachedCluster resource name formatted as `projects//locations//attachedClusters/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters. When generating an install manifest for importing an existing Membership resource, the attached_cluster_id field must be the Membership id. Membership names are formatted as `projects//locations//memberships/`.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Required. The parent location where this AttachedCluster resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "proxyConfig.kubernetesSecret.namespace": {
                  "description": "Namespace in which the kubernetes secret is stored.",
                  "location": "query",
                  "type": "string"
                },
                "platformVersion": {
                  "description": "Required. The platform version for the cluster (e.g. `1.19.0-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAttachedServerConfig.",
                  "location": "query",
                  "type": "string"
                },
                "proxyConfig.kubernetesSecret.name": {
                  "description": "Name of the kubernetes secret.",
                  "location": "query",
                  "type": "string"
                }
              },
              "id": "gkemulticloud.projects.locations.generateAttachedClusterInstallManifest",
              "path": "v1/{+parent}:generateAttachedClusterInstallManifest"
            },
            "getAzureServerConfig": {
              "id": "gkemulticloud.projects.locations.getAzureServerConfig",
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+/azureServerConfig$",
                  "description": "Required. The name of the AzureServerConfig resource to describe. `AzureServerConfig` names are formatted as `projects//locations//azureServerConfig`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "GoogleCloudGkemulticloudV1AzureServerConfig"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureServerConfig",
              "parameterOrder": [
                "name"
              ],
              "description": "Returns information, such as supported Azure regions and Kubernetes versions, on a given Google Cloud location.",
              "deprecated": true
            },
            "getAwsServerConfig": {
              "description": "Returns information, such as supported AWS regions and Kubernetes versions, on a given Google Cloud location.",
              "deprecated": true,
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "GoogleCloudGkemulticloudV1AwsServerConfig"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsServerConfig",
              "parameterOrder": [
                "name"
              ],
              "id": "gkemulticloud.projects.locations.getAwsServerConfig",
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+/awsServerConfig$",
                  "description": "Required. The name of the AwsServerConfig resource to describe. `AwsServerConfig` names are formatted as `projects//locations//awsServerConfig`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              }
            }
          },
          "resources": {
            "attachedClusters": {
              "methods": {
                "get": {
                  "description": "Describes a specific AttachedCluster resource.",
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AttachedCluster"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters/{attachedClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the AttachedCluster resource to describe. `AttachedCluster` names are formatted as `projects//locations//attachedClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/attachedClusters/[^/]+$"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.attachedClusters.get",
                  "path": "v1/{+name}"
                },
                "delete": {
                  "description": "Deletes a specific AttachedCluster resource. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters/{attachedClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "gkemulticloud.projects.locations.attachedClusters.delete",
                  "path": "v1/{+name}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "allowMissing": {
                      "description": "If set to true, and the AttachedCluster resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "ignoreErrors": {
                      "description": "If set to true, the deletion of AttachedCluster resource will succeed even if errors occur during deleting in cluster resources. Using this parameter may result in orphaned resources in the cluster.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually delete the resource.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "name": {
                      "description": "Required. The resource name the AttachedCluster to delete. `AttachedCluster` names are formatted as `projects//locations//attachedClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/attachedClusters/[^/]+$"
                    },
                    "etag": {
                      "description": "The current etag of the AttachedCluster. Allows clients to perform deletions through optimistic concurrency control. If the provided etag does not match the current etag of the cluster, the request will fail and an ABORTED error will be returned.",
                      "location": "query",
                      "type": "string"
                    }
                  }
                },
                "create": {
                  "id": "gkemulticloud.projects.locations.attachedClusters.create",
                  "path": "v1/{+parent}/attachedClusters",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location where this AttachedCluster resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually create the cluster.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "attachedClusterId": {
                      "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AttachedCluster resource name formatted as `projects//locations//attachedClusters/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "description": "Creates a new AttachedCluster resource on a given Google Cloud Platform project and region. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AttachedCluster"
                  }
                },
                "list": {
                  "id": "gkemulticloud.projects.locations.attachedClusters.list",
                  "path": "v1/{+parent}/attachedClusters",
                  "httpMethod": "GET",
                  "parameters": {
                    "pageSize": {
                      "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The `nextPageToken` value returned from a previous attachedClusters.list request, if any.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The parent location which owns this collection of AttachedCluster resources. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "description": "Lists all AttachedCluster resources on a given Google Cloud project and region.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1ListAttachedClustersResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "patch": {
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/attachedClusters/[^/]+$",
                      "description": "The name of this resource. Cluster names are formatted as `projects//locations//attachedClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field can only include these fields from AttachedCluster: * `annotations`. * `authorization.admin_groups`. * `authorization.admin_users`. * `binary_authorization.evaluation_mode`. * `description`. * `logging_config.component_config.enable_components`. * `monitoring_config.managed_prometheus_config.enabled`. * `platform_version`. * `proxy_config.kubernetes_secret.name`. * `proxy_config.kubernetes_secret.namespace`. * `security_posture_config.vulnerability_mode` * `monitoring_config.cloud_monitoring_config.enabled`",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually update the cluster.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "httpMethod": "PATCH",
                  "id": "gkemulticloud.projects.locations.attachedClusters.patch",
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters/{attachedClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AttachedCluster"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates an AttachedCluster."
                },
                "import": {
                  "id": "gkemulticloud.projects.locations.attachedClusters.import",
                  "path": "v1/{+parent}/attachedClusters:import",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location where this AttachedCluster resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters:import",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1ImportAttachedClusterRequest"
                  },
                  "description": "Imports creates a new AttachedCluster resource by importing an existing Fleet Membership resource. Attached Clusters created before the introduction of the Anthos Multi-Cloud API can be imported through this method. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation."
                },
                "generateAttachedClusterAgentToken": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/attachedClusters/{attachedClustersId}:generateAttachedClusterAgentToken",
                  "parameterOrder": [
                    "attachedCluster"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenRequest"
                  },
                  "description": "Generates an access token for a cluster agent.",
                  "id": "gkemulticloud.projects.locations.attachedClusters.generateAttachedClusterAgentToken",
                  "path": "v1/{+attachedCluster}:generateAttachedClusterAgentToken",
                  "httpMethod": "POST",
                  "parameters": {
                    "attachedCluster": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/attachedClusters/[^/]+$",
                      "description": "Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  }
                }
              }
            },
            "azureClients": {
              "methods": {
                "create": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClients",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureClient"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Creates a new AzureClient resource on a given Google Cloud project and region. `AzureClient` resources hold client authentication information needed by the Anthos Multicloud API to manage Azure resources on your Azure subscription on your behalf. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "deprecated": true,
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location where this AzureClient resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "azureClientId": {
                      "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AzureClient resource name formatted as `projects//locations//azureClients/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually create the client.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.azureClients.create",
                  "path": "v1/{+parent}/azureClients"
                },
                "get": {
                  "description": "Describes a specific AzureClient resource.",
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureClient"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClients/{azureClientsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the AzureClient resource to describe. AzureClient names are formatted as `projects//locations//azureClients/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClients/[^/]+$"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.azureClients.get",
                  "path": "v1/{+name}"
                },
                "list": {
                  "httpMethod": "GET",
                  "parameters": {
                    "pageToken": {
                      "description": "The `nextPageToken` value returned from a previous azureClients.list request, if any.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location which owns this collection of AzureClient resources. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.azureClients.list",
                  "path": "v1/{+parent}/azureClients",
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1ListAzureClientsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClients",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists all AzureClient resources on a given Google Cloud project and region.",
                  "deprecated": true
                },
                "delete": {
                  "parameters": {
                    "allowMissing": {
                      "description": "If set to true, and the AzureClient resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually delete the resource.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClients/[^/]+$",
                      "description": "Required. The resource name the AzureClient to delete. AzureClient names are formatted as `projects//locations//azureClients/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "httpMethod": "DELETE",
                  "id": "gkemulticloud.projects.locations.azureClients.delete",
                  "path": "v1/{+name}",
                  "deprecated": true,
                  "description": "Deletes a specific AzureClient resource. If the client is used by one or more clusters, deletion will fail and a `FAILED_PRECONDITION` error will be returned. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClients/{azureClientsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              },
              "deprecated": true
            },
            "awsClusters": {
              "methods": {
                "get": {
                  "id": "gkemulticloud.projects.locations.awsClusters.get",
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$",
                      "description": "Required. The name of the AwsCluster resource to describe. `AwsCluster` names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AwsCluster"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Describes a specific AwsCluster resource.",
                  "deprecated": true
                },
                "delete": {
                  "deprecated": true,
                  "description": "Deletes a specific AwsCluster resource. Fails if the cluster has one or more associated AwsNodePool resources. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "gkemulticloud.projects.locations.awsClusters.delete",
                  "path": "v1/{+name}",
                  "parameters": {
                    "etag": {
                      "description": "The current etag of the AwsCluster. Allows clients to perform deletions through optimistic concurrency control. If the provided etag does not match the current etag of the cluster, the request will fail and an ABORTED error will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "Required. The resource name the AwsCluster to delete. `AwsCluster` names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually delete the resource.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "ignoreErrors": {
                      "description": "Optional. If set to true, the deletion of AwsCluster resource will succeed even if errors occur during deleting in cluster resources. Using this parameter may result in orphaned resources in the cluster.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "allowMissing": {
                      "description": "If set to true, and the AwsCluster resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "httpMethod": "DELETE"
                },
                "create": {
                  "parameters": {
                    "awsClusterId": {
                      "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AwsCluster resource name formatted as `projects//locations//awsClusters/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. The parent location where this AwsCluster resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually create the cluster.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "httpMethod": "POST",
                  "id": "gkemulticloud.projects.locations.awsClusters.create",
                  "path": "v1/{+parent}/awsClusters",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AwsCluster"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "deprecated": true,
                  "description": "Creates a new AwsCluster resource on a given Google Cloud Platform project and region. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation."
                },
                "generateAwsClusterAgentToken": {
                  "id": "gkemulticloud.projects.locations.awsClusters.generateAwsClusterAgentToken",
                  "path": "v1/{+awsCluster}:generateAwsClusterAgentToken",
                  "parameters": {
                    "awsCluster": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$",
                      "description": "Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}:generateAwsClusterAgentToken",
                  "parameterOrder": [
                    "awsCluster"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenResponse"
                  },
                  "deprecated": true,
                  "description": "Generates an access token for a cluster agent."
                },
                "generateAwsAccessToken": {
                  "httpMethod": "GET",
                  "parameters": {
                    "awsCluster": {
                      "description": "Required. The name of the AwsCluster resource to authenticate to. `AwsCluster` names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.awsClusters.generateAwsAccessToken",
                  "path": "v1/{+awsCluster}:generateAwsAccessToken",
                  "description": "Generates a short-lived access token to authenticate to a given AwsCluster resource.",
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAwsAccessTokenResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}:generateAwsAccessToken",
                  "parameterOrder": [
                    "awsCluster"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "getJwks": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/jwks",
                  "parameterOrder": [
                    "awsCluster"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AwsJsonWebKeys"
                  },
                  "deprecated": true,
                  "description": "Gets the public component of the cluster signing keys in JSON Web Key format.",
                  "id": "gkemulticloud.projects.locations.awsClusters.getJwks",
                  "path": "v1/{+awsCluster}/jwks",
                  "parameters": {
                    "awsCluster": {
                      "description": "Required. The AwsCluster, which owns the JsonWebKeys. Format: projects/{project}/locations/{location}/awsClusters/{cluster}",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$"
                    }
                  },
                  "httpMethod": "GET"
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AwsCluster"
                  },
                  "description": "Updates an AwsCluster.",
                  "deprecated": true,
                  "id": "gkemulticloud.projects.locations.awsClusters.patch",
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$",
                      "description": "The name of this resource. Cluster names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "format": "google-fieldmask",
                      "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field can only include these fields from AwsCluster: * `description`. * `annotations`. * `control_plane.version`. * `authorization.admin_users`. * `authorization.admin_groups`. * `binary_authorization.evaluation_mode`. * `control_plane.aws_services_authentication.role_arn`. * `control_plane.aws_services_authentication.role_session_name`. * `control_plane.config_encryption.kms_key_arn`. * `control_plane.instance_type`. * `control_plane.security_group_ids`. * `control_plane.proxy_config`. * `control_plane.proxy_config.secret_arn`. * `control_plane.proxy_config.secret_version`. * `control_plane.root_volume.size_gib`. * `control_plane.root_volume.volume_type`. * `control_plane.root_volume.iops`. * `control_plane.root_volume.throughput`. * `control_plane.root_volume.kms_key_arn`. * `control_plane.ssh_config`. * `control_plane.ssh_config.ec2_key_pair`. * `control_plane.instance_placement.tenancy`. * `control_plane.iam_instance_profile`. * `logging_config.component_config.enable_components`. * `control_plane.tags`. * `monitoring_config.managed_prometheus_config.enabled`. * `networking.per_node_pool_sg_rules_disabled`.",
                      "location": "query",
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually update the cluster.",
                      "location": "query",
                      "type": "boolean"
                    }
                  }
                },
                "list": {
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location which owns this collection of AwsCluster resources. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageToken": {
                      "description": "The `nextPageToken` value returned from a previous awsClusters.list request, if any.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "format": "int32",
                      "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                      "location": "query",
                      "type": "integer"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.awsClusters.list",
                  "path": "v1/{+parent}/awsClusters",
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1ListAwsClustersResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists all AwsCluster resources on a given Google Cloud project and region.",
                  "deprecated": true
                }
              },
              "resources": {
                "well-known": {
                  "methods": {
                    "getOpenid-configuration": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1AwsOpenIdConfig"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/.well-known/openid-configuration",
                      "parameterOrder": [
                        "awsCluster"
                      ],
                      "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details.",
                      "deprecated": true,
                      "id": "gkemulticloud.projects.locations.awsClusters.well-known.getOpenid-configuration",
                      "path": "v1/{+awsCluster}/.well-known/openid-configuration",
                      "httpMethod": "GET",
                      "parameters": {
                        "awsCluster": {
                          "description": "Required. The AwsCluster, which owns the OIDC discovery document. Format: projects/{project}/locations/{location}/awsClusters/{cluster}",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$"
                        }
                      }
                    }
                  },
                  "deprecated": true
                },
                "awsNodePools": {
                  "methods": {
                    "rollback": {
                      "deprecated": true,
                      "description": "Rolls back a previously aborted or failed AwsNodePool update request. Makes no changes if the last update request successfully finished. If an update request is in progress, you cannot rollback the update. You must first cancel or let it finish unsuccessfully before you can rollback.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools/{awsNodePoolsId}:rollback",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudGkemulticloudV1RollbackAwsNodePoolUpdateRequest"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.rollback",
                      "path": "v1/{+name}:rollback",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+/awsNodePools/[^/]+$",
                          "description": "Required. The name of the AwsNodePool resource to rollback. `AwsNodePool` names are formatted as `projects//locations//awsClusters//awsNodePools/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "httpMethod": "POST"
                    },
                    "get": {
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.get",
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the AwsNodePool resource to describe. `AwsNodePool` names are formatted as `projects//locations//awsClusters//awsNodePools/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+/awsNodePools/[^/]+$"
                        }
                      },
                      "description": "Describes a specific AwsNodePool resource.",
                      "deprecated": true,
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1AwsNodePool"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools/{awsNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ]
                    },
                    "delete": {
                      "parameters": {
                        "allowMissing": {
                          "description": "If set to true, and the AwsNodePool resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "ignoreErrors": {
                          "description": "Optional. If set to true, the deletion of AwsNodePool resource will succeed even if errors occur during deleting in node pool resources. Using this parameter may result in orphaned resources in the node pool.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "name": {
                          "description": "Required. The resource name the AwsNodePool to delete. `AwsNodePool` names are formatted as `projects//locations//awsClusters//awsNodePools/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+/awsNodePools/[^/]+$"
                        },
                        "etag": {
                          "description": "The current ETag of the AwsNodePool. Allows clients to perform deletions through optimistic concurrency control. If the provided ETag does not match the current etag of the node pool, the request will fail and an ABORTED error will be returned.",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "If set, only validate the request, but do not actually delete the node pool.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "httpMethod": "DELETE",
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.delete",
                      "path": "v1/{+name}",
                      "deprecated": true,
                      "description": "Deletes a specific AwsNodePool resource. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools/{awsNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "create": {
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.create",
                      "path": "v1/{+parent}/awsNodePools",
                      "parameters": {
                        "awsNodePoolId": {
                          "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AwsNodePool resource name formatted as `projects//locations//awsClusters//awsNodePools/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$",
                          "description": "Required. The AwsCluster resource where this node pool will be created. `AwsCluster` names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "If set, only validate the request, but do not actually create the node pool.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "httpMethod": "POST",
                      "deprecated": true,
                      "description": "Creates a new AwsNodePool, attached to a given AwsCluster. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools",
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudGkemulticloudV1AwsNodePool"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      }
                    },
                    "list": {
                      "parameters": {
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+$",
                          "description": "Required. The parent `AwsCluster` which owns this collection of AwsNodePool resources. `AwsCluster` names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "The `nextPageToken` value returned from a previous awsNodePools.list request, if any.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "format": "int32",
                          "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                          "location": "query",
                          "type": "integer"
                        }
                      },
                      "httpMethod": "GET",
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.list",
                      "path": "v1/{+parent}/awsNodePools",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools",
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1ListAwsNodePoolsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "deprecated": true,
                      "description": "Lists all AwsNodePool resources on a given AwsCluster."
                    },
                    "patch": {
                      "id": "gkemulticloud.projects.locations.awsClusters.awsNodePools.patch",
                      "path": "v1/{+name}",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/awsClusters/[^/]+/awsNodePools/[^/]+$",
                          "description": "The name of this resource. Node pool names are formatted as `projects//locations//awsClusters//awsNodePools/`. For more details on Google Cloud resource names, see [Resource Names](https://cloud.google.com/apis/design/resource_names)",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "format": "google-fieldmask",
                          "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field can only include these fields from AwsNodePool: * `annotations`. * `version`. * `autoscaling.min_node_count`. * `autoscaling.max_node_count`. * `config.config_encryption.kms_key_arn`. * `config.security_group_ids`. * `config.root_volume.iops`. * `config.root_volume.throughput`. * `config.root_volume.kms_key_arn`. * `config.root_volume.volume_type`. * `config.root_volume.size_gib`. * `config.proxy_config`. * `config.proxy_config.secret_arn`. * `config.proxy_config.secret_version`. * `config.ssh_config`. * `config.ssh_config.ec2_key_pair`. * `config.instance_placement.tenancy`. * `config.iam_instance_profile`. * `config.labels`. * `config.tags`. * `config.autoscaling_metrics_collection`. * `config.autoscaling_metrics_collection.granularity`. * `config.autoscaling_metrics_collection.metrics`. * `config.instance_type`. * `management.auto_repair`. * `management`. * `update_settings`. * `update_settings.surge_settings`. * `update_settings.surge_settings.max_surge`. * `update_settings.surge_settings.max_unavailable`.",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "If set, only validate the request, but don't actually update the node pool.",
                          "location": "query",
                          "type": "boolean"
                        }
                      },
                      "httpMethod": "PATCH",
                      "deprecated": true,
                      "description": "Updates an AwsNodePool.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/awsClusters/{awsClustersId}/awsNodePools/{awsNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudGkemulticloudV1AwsNodePool"
                      },
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      }
                    }
                  },
                  "deprecated": true
                }
              }
            },
            "azureClusters": {
              "methods": {
                "generateAzureClusterAgentToken": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}:generateAzureClusterAgentToken",
                  "parameterOrder": [
                    "azureCluster"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenRequest"
                  },
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenResponse"
                  },
                  "deprecated": true,
                  "description": "Generates an access token for a cluster agent.",
                  "id": "gkemulticloud.projects.locations.azureClusters.generateAzureClusterAgentToken",
                  "path": "v1/{+azureCluster}:generateAzureClusterAgentToken",
                  "parameters": {
                    "azureCluster": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$",
                      "description": "Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "httpMethod": "POST"
                },
                "get": {
                  "description": "Describes a specific AzureCluster resource.",
                  "deprecated": true,
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureCluster"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "gkemulticloud.projects.locations.azureClusters.get",
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the AzureCluster resource to describe. `AzureCluster` names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$"
                    }
                  }
                },
                "delete": {
                  "id": "gkemulticloud.projects.locations.azureClusters.delete",
                  "path": "v1/{+name}",
                  "parameters": {
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually delete the resource.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "etag": {
                      "description": "The current etag of the AzureCluster. Allows clients to perform deletions through optimistic concurrency control. If the provided etag does not match the current etag of the cluster, the request will fail and an ABORTED error will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "Required. The resource name the AzureCluster to delete. `AzureCluster` names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$"
                    },
                    "ignoreErrors": {
                      "description": "Optional. If set to true, the deletion of AzureCluster resource will succeed even if errors occur during deleting in cluster resources. Using this parameter may result in orphaned resources in the cluster.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "allowMissing": {
                      "description": "If set to true, and the AzureCluster resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "httpMethod": "DELETE",
                  "deprecated": true,
                  "description": "Deletes a specific AzureCluster resource. Fails if the cluster has one or more associated AzureNodePool resources. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  }
                },
                "patch": {
                  "id": "gkemulticloud.projects.locations.azureClusters.patch",
                  "path": "v1/{+name}",
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "description": "The name of this resource. Cluster names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$"
                    },
                    "updateMask": {
                      "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field can only include these fields from AzureCluster: * `description`. * `azureClient`. * `control_plane.version`. * `control_plane.vm_size`. * `annotations`. * `authorization.admin_users`. * `authorization.admin_groups`. * `control_plane.root_volume.size_gib`. * `azure_services_authentication`. * `azure_services_authentication.tenant_id`. * `azure_services_authentication.application_id`. * `control_plane.proxy_config`. * `control_plane.proxy_config.resource_group_id`. * `control_plane.proxy_config.secret_id`. * `control_plane.ssh_config.authorized_key`. * `logging_config.component_config.enable_components` * `monitoring_config.managed_prometheus_config.enabled`.",
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually update the cluster.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "description": "Updates an AzureCluster.",
                  "deprecated": true,
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureCluster"
                  }
                },
                "generateAzureAccessToken": {
                  "deprecated": true,
                  "description": "Generates a short-lived access token to authenticate to a given AzureCluster resource.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}:generateAzureAccessToken",
                  "parameterOrder": [
                    "azureCluster"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1GenerateAzureAccessTokenResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "azureCluster": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$",
                      "description": "Required. The name of the AzureCluster resource to authenticate to. `AzureCluster` names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "httpMethod": "GET",
                  "id": "gkemulticloud.projects.locations.azureClusters.generateAzureAccessToken",
                  "path": "v1/{+azureCluster}:generateAzureAccessToken"
                },
                "list": {
                  "description": "Lists all AzureCluster resources on a given Google Cloud project and region.",
                  "deprecated": true,
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1ListAzureClustersResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "description": "Required. The parent location which owns this collection of AzureCluster resources. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageSize": {
                      "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "The `nextPageToken` value returned from a previous azureClusters.list request, if any.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.azureClusters.list",
                  "path": "v1/{+parent}/azureClusters"
                },
                "create": {
                  "deprecated": true,
                  "description": "Creates a new AzureCluster resource on a given Google Cloud Platform project and region. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureCluster"
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent location where this AzureCluster resource will be created. Location names are formatted as `projects//locations/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "validateOnly": {
                      "description": "If set, only validate the request, but do not actually create the cluster.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "azureClusterId": {
                      "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AzureCluster resource name formatted as `projects//locations//azureClusters/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "httpMethod": "POST",
                  "id": "gkemulticloud.projects.locations.azureClusters.create",
                  "path": "v1/{+parent}/azureClusters"
                },
                "getJwks": {
                  "deprecated": true,
                  "description": "Gets the public component of the cluster signing keys in JSON Web Key format.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/jwks",
                  "parameterOrder": [
                    "azureCluster"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGkemulticloudV1AzureJsonWebKeys"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "azureCluster": {
                      "description": "Required. The AzureCluster, which owns the JsonWebKeys. Format: `projects//locations//azureClusters/`",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "id": "gkemulticloud.projects.locations.azureClusters.getJwks",
                  "path": "v1/{+azureCluster}/jwks"
                }
              },
              "resources": {
                "azureNodePools": {
                  "methods": {
                    "create": {
                      "httpMethod": "POST",
                      "parameters": {
                        "validateOnly": {
                          "description": "If set, only validate the request, but do not actually create the node pool.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "parent": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$",
                          "description": "Required. The AzureCluster resource where this node pool will be created. `AzureCluster` names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "azureNodePoolId": {
                          "description": "Required. A client provided ID the resource. Must be unique within the parent resource. The provided ID will be part of the AzureNodePool resource name formatted as `projects//locations//azureClusters//azureNodePools/`. Valid characters are `/a-z-/`. Cannot be longer than 63 characters.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "id": "gkemulticloud.projects.locations.azureClusters.azureNodePools.create",
                      "path": "v1/{+parent}/azureNodePools",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/azureNodePools",
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "GoogleCloudGkemulticloudV1AzureNodePool"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "Creates a new AzureNodePool, attached to a given AzureCluster. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                      "deprecated": true
                    },
                    "list": {
                      "deprecated": true,
                      "description": "Lists all AzureNodePool resources on a given AzureCluster.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/azureNodePools",
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1ListAzureNodePoolsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "pageToken": {
                          "description": "The `nextPageToken` value returned from a previous azureNodePools.list request, if any.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "format": "int32",
                          "description": "The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the pageSize value, the response can include a partial list and a caller should only rely on response's nextPageToken to determine if there are more instances left to be queried.",
                          "location": "query",
                          "type": "integer"
                        },
                        "parent": {
                          "description": "Required. The parent `AzureCluster` which owns this collection of AzureNodePool resources. `AzureCluster` names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$"
                        }
                      },
                      "httpMethod": "GET",
                      "id": "gkemulticloud.projects.locations.azureClusters.azureNodePools.list",
                      "path": "v1/{+parent}/azureNodePools"
                    },
                    "patch": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/azureNodePools/{azureNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "request": {
                        "$ref": "GoogleCloudGkemulticloudV1AzureNodePool"
                      },
                      "description": "Updates an AzureNodePool.",
                      "deprecated": true,
                      "id": "gkemulticloud.projects.locations.azureClusters.azureNodePools.patch",
                      "path": "v1/{+name}",
                      "httpMethod": "PATCH",
                      "parameters": {
                        "validateOnly": {
                          "description": "If set, only validate the request, but don't actually update the node pool.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "name": {
                          "description": "The name of this resource. Node pool names are formatted as `projects//locations//azureClusters//azureNodePools/`. For more details on Google Cloud resource names, see [Resource Names](https://cloud.google.com/apis/design/resource_names)",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+/azureNodePools/[^/]+$"
                        },
                        "updateMask": {
                          "format": "google-fieldmask",
                          "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field can only include these fields from AzureNodePool: *. `annotations`. * `version`. * `autoscaling.min_node_count`. * `autoscaling.max_node_count`. * `config.ssh_config.authorized_key`. * `management.auto_repair`. * `management`.",
                          "location": "query",
                          "type": "string"
                        }
                      }
                    },
                    "get": {
                      "description": "Describes a specific AzureNodePool resource.",
                      "deprecated": true,
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1AzureNodePool"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/azureNodePools/{azureNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "gkemulticloud.projects.locations.azureClusters.azureNodePools.get",
                      "path": "v1/{+name}",
                      "httpMethod": "GET",
                      "parameters": {
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+/azureNodePools/[^/]+$",
                          "description": "Required. The name of the AzureNodePool resource to describe. `AzureNodePool` names are formatted as `projects//locations//azureClusters//azureNodePools/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      }
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/azureNodePools/{azureNodePoolsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "Deletes a specific AzureNodePool resource. If successful, the response contains a newly created Operation resource that can be described to track the status of the operation.",
                      "deprecated": true,
                      "id": "gkemulticloud.projects.locations.azureClusters.azureNodePools.delete",
                      "path": "v1/{+name}",
                      "httpMethod": "DELETE",
                      "parameters": {
                        "allowMissing": {
                          "description": "If set to true, and the AzureNodePool resource is not found, the request will succeed but no action will be taken on the server and a completed Operation will be returned. Useful for idempotent deletion.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "ignoreErrors": {
                          "description": "Optional. If set to true, the deletion of AzureNodePool resource will succeed even if errors occur during deleting in node pool resources. Using this parameter may result in orphaned resources in the node pool.",
                          "location": "query",
                          "type": "boolean"
                        },
                        "name": {
                          "description": "Required. The resource name the AzureNodePool to delete. `AzureNodePool` names are formatted as `projects//locations//azureClusters//azureNodePools/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+/azureNodePools/[^/]+$"
                        },
                        "etag": {
                          "description": "The current ETag of the AzureNodePool. Allows clients to perform deletions through optimistic concurrency control. If the provided ETag does not match the current etag of the node pool, the request will fail and an ABORTED error will be returned.",
                          "location": "query",
                          "type": "string"
                        },
                        "validateOnly": {
                          "description": "If set, only validate the request, but do not actually delete the node pool.",
                          "location": "query",
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "deprecated": true
                },
                "well-known": {
                  "methods": {
                    "getOpenid-configuration": {
                      "deprecated": true,
                      "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/azureClusters/{azureClustersId}/.well-known/openid-configuration",
                      "parameterOrder": [
                        "azureCluster"
                      ],
                      "response": {
                        "$ref": "GoogleCloudGkemulticloudV1AzureOpenIdConfig"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "azureCluster": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/azureClusters/[^/]+$",
                          "description": "Required. The AzureCluster, which owns the OIDC discovery document. Format: projects//locations//azureClusters/",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "httpMethod": "GET",
                      "id": "gkemulticloud.projects.locations.azureClusters.well-known.getOpenid-configuration",
                      "path": "v1/{+azureCluster}/.well-known/openid-configuration"
                    }
                  },
                  "deprecated": true
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "id": "gkemulticloud.projects.locations.operations.list",
                  "path": "v1/{+name}/operations",
                  "httpMethod": "GET",
                  "parameters": {
                    "returnPartialSuccess": {
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "location": "query",
                      "type": "boolean"
                    },
                    "filter": {
                      "description": "The standard list filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "format": "int32",
                      "description": "The standard list page size.",
                      "location": "query",
                      "type": "integer"
                    },
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    }
                  }
                },
                "get": {
                  "id": "gkemulticloud.projects.locations.operations.get",
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service."
                },
                "delete": {
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "gkemulticloud.projects.locations.operations.delete",
                  "path": "v1/{+name}"
                },
                "cancel": {
                  "id": "gkemulticloud.projects.locations.operations.cancel",
                  "path": "v1/{+name}:cancel",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be cancelled.",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "httpMethod": "POST",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20260610",
  "baseUrl": "https://gkemulticloud.googleapis.com/",
  "protocol": "rest",
  "servicePath": "",
  "documentationLink": "https://cloud.google.com/kubernetes-engine/multi-cloud/docs",
  "canonicalName": "Gkemulticloud",
  "schemas": {
    "GoogleCloudGkemulticloudV1WorkloadIdentityConfig": {
      "description": "Workload Identity settings.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1WorkloadIdentityConfig",
      "properties": {
        "issuerUri": {
          "description": "The OIDC issuer URL for this cluster.",
          "type": "string"
        },
        "workloadPool": {
          "description": "The Workload Identity Pool associated to the cluster.",
          "type": "string"
        },
        "identityProvider": {
          "description": "The ID of the OIDC Identity Provider (IdP) associated to the Workload Identity Pool.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1MonitoringConfig": {
      "properties": {
        "managedPrometheusConfig": {
          "$ref": "GoogleCloudGkemulticloudV1ManagedPrometheusConfig",
          "description": "Enable Google Cloud Managed Service for Prometheus in the cluster."
        },
        "cloudMonitoringConfig": {
          "$ref": "GoogleCloudGkemulticloudV1CloudMonitoringConfig",
          "description": "Optionally enable GKE metrics. Only for Attached Clusters."
        }
      },
      "description": "Parameters that describe the Monitoring configuration in a cluster.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1MonitoringConfig"
    },
    "GoogleCloudGkemulticloudV1AwsAuthorization": {
      "properties": {
        "adminUsers": {
          "description": "Optional. Users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the users. Up to ten admin users can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsClusterUser"
          }
        },
        "adminGroups": {
          "description": "Optional. Groups of users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the groups. Up to ten admin groups can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsClusterGroup"
          }
        }
      },
      "description": "Configuration related to the cluster RBAC settings.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AwsAuthorization"
    },
    "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenResponse": {
      "properties": {
        "expires_in": {
          "format": "int32",
          "type": "integer"
        },
        "access_token": {
          "type": "string"
        },
        "token_type": {
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenResponse",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AzureDiskTemplate": {
      "id": "GoogleCloudGkemulticloudV1AzureDiskTemplate",
      "properties": {
        "sizeGib": {
          "description": "Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "Configuration for Azure Disks.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AzureDatabaseEncryption": {
      "id": "GoogleCloudGkemulticloudV1AzureDatabaseEncryption",
      "deprecated": true,
      "description": "Configuration related to application-layer secrets encryption. Anthos clusters on Azure encrypts your Kubernetes data at rest in etcd using Azure Key Vault.",
      "type": "object",
      "properties": {
        "keyId": {
          "description": "Required. The ARM ID of the Azure Key Vault key to encrypt / decrypt data. For example: `/subscriptions//resourceGroups//providers/Microsoft.KeyVault/vaults//keys/` Encryption will always take the latest version of the key and hence specific version is not supported.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenResponse": {
      "properties": {
        "expires_in": {
          "type": "integer",
          "format": "int32"
        },
        "access_token": {
          "type": "string"
        },
        "token_type": {
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenResponse",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureNodePool": {
      "deprecated": true,
      "description": "An Anthos node pool running on Azure.",
      "type": "object",
      "properties": {
        "autoscaling": {
          "description": "Required. Autoscaler configuration for this node pool.",
          "$ref": "GoogleCloudGkemulticloudV1AzureNodePoolAutoscaling"
        },
        "annotations": {
          "description": "Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "azureAvailabilityZone": {
          "description": "Optional. The Azure availability zone of the nodes in this nodepool. When unspecified, it defaults to `1`.",
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureNodePoolError"
          },
          "description": "Output only. A set of errors found in the node pool.",
          "readOnly": true,
          "type": "array"
        },
        "config": {
          "$ref": "GoogleCloudGkemulticloudV1AzureNodeConfig",
          "description": "Required. The node configuration of the node pool."
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this node pool was created.",
          "readOnly": true,
          "type": "string"
        },
        "etag": {
          "description": "Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "name": {
          "description": "The name of this resource. Node pool names are formatted as `projects//locations//azureClusters//azureNodePools/`. For more details on Google Cloud resource names, see [Resource Names](https://cloud.google.com/apis/design/resource_names)",
          "type": "string"
        },
        "maxPodsConstraint": {
          "$ref": "GoogleCloudGkemulticloudV1MaxPodsConstraint",
          "description": "Required. The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool."
        },
        "subnetId": {
          "description": "Required. The ARM ID of the subnet where the node pool VMs run. Make sure it's a subnet under the virtual network in the cluster configuration.",
          "type": "string"
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the node pool.",
          "readOnly": true,
          "type": "string"
        },
        "version": {
          "description": "Required. The Kubernetes version (e.g. `1.19.10-gke.1000`) running on this node pool.",
          "type": "string"
        },
        "state": {
          "enumDescriptions": [
            "Not set.",
            "The PROVISIONING state indicates the node pool is being created.",
            "The RUNNING state indicates the node pool has been created and is fully usable.",
            "The RECONCILING state indicates that the node pool is being reconciled.",
            "The STOPPING state indicates the node pool is being deleted.",
            "The ERROR state indicates the node pool is in a broken unrecoverable state.",
            "The DEGRADED state indicates the node pool requires user action to restore full functionality."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PROVISIONING",
            "RUNNING",
            "RECONCILING",
            "STOPPING",
            "ERROR",
            "DEGRADED"
          ],
          "description": "Output only. The current state of the node pool.",
          "type": "string",
          "readOnly": true
        },
        "management": {
          "description": "Optional. The Management configuration for this node pool.",
          "$ref": "GoogleCloudGkemulticloudV1AzureNodeManagement"
        },
        "reconciling": {
          "description": "Output only. If set, there are currently pending changes to the node pool.",
          "readOnly": true,
          "type": "boolean"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this node pool was last updated.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureNodePool"
    },
    "GoogleCloudGkemulticloudV1AttachedCluster": {
      "description": "An Anthos cluster running on customer own infrastructure.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedCluster",
      "properties": {
        "etag": {
          "description": "Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "kubernetesVersion": {
          "description": "Output only. The Kubernetes version of the cluster.",
          "readOnly": true,
          "type": "string"
        },
        "oidcConfig": {
          "description": "Required. OpenID Connect (OIDC) configuration for the cluster.",
          "$ref": "GoogleCloudGkemulticloudV1AttachedOidcConfig"
        },
        "platformVersion": {
          "description": "Required. The platform version for the cluster (e.g. `1.19.0-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAttachedServerConfig.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which this cluster was registered.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "loggingConfig": {
          "description": "Optional. Logging configuration for this cluster.",
          "$ref": "GoogleCloudGkemulticloudV1LoggingConfig"
        },
        "clusterRegion": {
          "description": "Output only. The region where this cluster runs. For EKS clusters, this is a AWS region. For AKS clusters, this is an Azure region.",
          "readOnly": true,
          "type": "string"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this cluster was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Input only. Tag keys and values directly bound to this resource. The tag key must be specified in the format `/,` where the tag namespace is the ID of the organization or name of the project that the tag key is defined in. The short name of a tag key or value can have a maximum length of 256 characters. The permitted character set for the short name includes UTF-8 encoded Unicode characters except single quotation marks (`'`), double quotation marks (`\"`), backslashes (`\\`), and forward slashes (`/`). See [Tags](https://cloud.google.com/resource-manager/docs/tags/tags-overview) for more details on Google Cloud Platform tags.",
          "type": "object"
        },
        "distribution": {
          "description": "Required. The Kubernetes distribution of the underlying attached cluster. Supported values: [\"eks\", \"aks\", \"generic\"].",
          "type": "string"
        },
        "workloadIdentityConfig": {
          "description": "Output only. Workload Identity settings.",
          "readOnly": true,
          "$ref": "GoogleCloudGkemulticloudV1WorkloadIdentityConfig"
        },
        "binaryAuthorization": {
          "$ref": "GoogleCloudGkemulticloudV1BinaryAuthorization",
          "description": "Optional. Binary Authorization configuration for this cluster."
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the cluster.",
          "readOnly": true,
          "type": "string"
        },
        "securityPostureConfig": {
          "$ref": "GoogleCloudGkemulticloudV1SecurityPostureConfig",
          "description": "Optional. Security Posture configuration for this cluster."
        },
        "authorization": {
          "$ref": "GoogleCloudGkemulticloudV1AttachedClustersAuthorization",
          "description": "Optional. Configuration related to the cluster RBAC settings."
        },
        "systemComponentsConfig": {
          "$ref": "GoogleCloudGkemulticloudV1SystemComponentsConfig",
          "description": "Optional. Kubernetes configurationss for auto-installed components on the cluster."
        },
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object"
        },
        "errors": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AttachedClusterError"
          },
          "description": "Output only. A set of errors found in the cluster.",
          "readOnly": true,
          "type": "array"
        },
        "name": {
          "description": "The name of this resource. Cluster names are formatted as `projects//locations//attachedClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
          "type": "string"
        },
        "reconciling": {
          "description": "Output only. If set, there are currently changes in flight to the cluster.",
          "readOnly": true,
          "type": "boolean"
        },
        "description": {
          "description": "Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.",
          "type": "string"
        },
        "state": {
          "description": "Output only. The current state of the cluster.",
          "type": "string",
          "enumDescriptions": [
            "Not set.",
            "The PROVISIONING state indicates the cluster is being registered.",
            "The RUNNING state indicates the cluster has been register and is fully usable.",
            "The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading software components.",
            "The STOPPING state indicates the cluster is being de-registered.",
            "The ERROR state indicates the cluster is in a broken unrecoverable state.",
            "The DEGRADED state indicates the cluster requires user action to restore full functionality."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PROVISIONING",
            "RUNNING",
            "RECONCILING",
            "STOPPING",
            "ERROR",
            "DEGRADED"
          ],
          "readOnly": true
        },
        "fleet": {
          "$ref": "GoogleCloudGkemulticloudV1Fleet",
          "description": "Required. Fleet configuration."
        },
        "proxyConfig": {
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic.",
          "$ref": "GoogleCloudGkemulticloudV1AttachedProxyConfig"
        },
        "monitoringConfig": {
          "description": "Optional. Monitoring configuration for this cluster.",
          "$ref": "GoogleCloudGkemulticloudV1MonitoringConfig"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsVolumeTemplate": {
      "id": "GoogleCloudGkemulticloudV1AwsVolumeTemplate",
      "properties": {
        "throughput": {
          "description": "Optional. The throughput that the volume supports, in MiB/s. Only valid if volume_type is GP3. If the volume_type is GP3 and this is not specified, it defaults to 125.",
          "type": "integer",
          "format": "int32"
        },
        "sizeGib": {
          "format": "int32",
          "description": "Optional. The size of the volume, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.",
          "type": "integer"
        },
        "volumeType": {
          "description": "Optional. Type of the EBS volume. When unspecified, it defaults to GP2 volume.",
          "type": "string",
          "enumDescriptions": [
            "Not set.",
            "GP2 (General Purpose SSD volume type).",
            "GP3 (General Purpose SSD volume type)."
          ],
          "enum": [
            "VOLUME_TYPE_UNSPECIFIED",
            "GP2",
            "GP3"
          ]
        },
        "iops": {
          "format": "int32",
          "description": "Optional. The number of I/O operations per second (IOPS) to provision for GP3 volume.",
          "type": "integer"
        },
        "kmsKeyArn": {
          "description": "Optional. The Amazon Resource Name (ARN) of the Customer Managed Key (CMK) used to encrypt AWS EBS volumes. If not specified, the default Amazon managed key associated to the AWS region where this cluster runs will be used.",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "Configuration template for AWS EBS volumes.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureServerConfig": {
      "id": "GoogleCloudGkemulticloudV1AzureServerConfig",
      "description": "AzureServerConfig contains information about a Google Cloud location, such as supported Azure regions and Kubernetes versions.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "supportedAzureRegions": {
          "description": "The list of supported Azure regions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "description": "The `AzureServerConfig` resource name. `AzureServerConfig` names are formatted as `projects//locations//azureServerConfig`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
          "type": "string"
        },
        "validVersions": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureK8sVersionInfo"
          },
          "description": "List of all released Kubernetes versions, including ones which are end of life and can no longer be used. Filter by the `enabled` property to limit to currently available versions. Valid versions supported for both create and update operations",
          "type": "array"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsControlPlane": {
      "id": "GoogleCloudGkemulticloudV1AwsControlPlane",
      "properties": {
        "awsServicesAuthentication": {
          "description": "Required. Authentication configuration for management of AWS resources.",
          "$ref": "GoogleCloudGkemulticloudV1AwsServicesAuthentication"
        },
        "iamInstanceProfile": {
          "description": "Required. The name or ARN of the AWS IAM instance profile to assign to each control plane replica.",
          "type": "string"
        },
        "rootVolume": {
          "$ref": "GoogleCloudGkemulticloudV1AwsVolumeTemplate",
          "description": "Optional. Configuration related to the root volume provisioned for each control plane replica. Volumes will be provisioned in the availability zone associated with the corresponding subnet. When unspecified, it defaults to 32 GiB with the GP2 volume type."
        },
        "subnetIds": {
          "description": "Required. The list of subnets where control plane replicas will run. A replica will be provisioned on each subnet and up to three values can be provided. Each subnet must be in a different AWS Availability Zone (AZ).",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "databaseEncryption": {
          "$ref": "GoogleCloudGkemulticloudV1AwsDatabaseEncryption",
          "description": "Required. The ARN of the AWS KMS key used to encrypt cluster secrets."
        },
        "proxyConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AwsProxyConfig",
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic."
        },
        "mainVolume": {
          "description": "Optional. Configuration related to the main volume provisioned for each control plane replica. The main volume is in charge of storing all of the cluster's etcd state. Volumes will be provisioned in the availability zone associated with the corresponding subnet. When unspecified, it defaults to 8 GiB with the GP2 volume type.",
          "$ref": "GoogleCloudGkemulticloudV1AwsVolumeTemplate"
        },
        "instanceType": {
          "description": "Optional. The AWS instance type. When unspecified, it uses a default based on the cluster's version.",
          "type": "string"
        },
        "configEncryption": {
          "$ref": "GoogleCloudGkemulticloudV1AwsConfigEncryption",
          "description": "Required. Config encryption for user data."
        },
        "sshConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AwsSshConfig",
          "description": "Optional. SSH configuration for how to access the underlying control plane machines."
        },
        "securityGroupIds": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The IDs of additional security groups to add to control plane replicas. The Anthos Multi-Cloud API will automatically create and manage security groups with the minimum rules needed for a functioning cluster.",
          "type": "array"
        },
        "instancePlacement": {
          "$ref": "GoogleCloudGkemulticloudV1AwsInstancePlacement",
          "description": "Optional. The placement to use on control plane instances. When unspecified, the VPC's default tenancy will be used."
        },
        "tags": {
          "description": "Optional. A set of AWS resource tags to propagate to all underlying managed AWS resources. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "version": {
          "description": "Required. The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAwsServerConfig.",
          "type": "string"
        }
      },
      "description": "ControlPlane defines common parameters between control plane nodes.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AwsAutoscalingGroupMetricsCollection": {
      "properties": {
        "granularity": {
          "description": "Required. The frequency at which EC2 Auto Scaling sends aggregated data to AWS CloudWatch. The only valid value is \"1Minute\".",
          "type": "string"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The metrics to enable. For a list of valid metrics, see https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. If you specify Granularity and don't specify any metrics, all metrics are enabled.",
          "type": "array"
        }
      },
      "description": "Configuration related to CloudWatch metrics collection in an AWS Auto Scaling group.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AwsAutoscalingGroupMetricsCollection"
    },
    "GoogleCloudGkemulticloudV1AttachedProxyConfig": {
      "id": "GoogleCloudGkemulticloudV1AttachedProxyConfig",
      "description": "Details of a proxy config.",
      "type": "object",
      "properties": {
        "kubernetesSecret": {
          "description": "The Kubernetes Secret resource that contains the HTTP(S) proxy configuration. The secret must be a JSON encoded proxy configuration as described in https://cloud.google.com/kubernetes-engine/multi-cloud/docs/attached/eks/how-to/use-a-proxy#configure-proxy-support for EKS clusters and https://cloud.google.com/kubernetes-engine/multi-cloud/docs/attached/aks/how-to/use-a-proxy#configure-proxy-support for AKS clusters.",
          "$ref": "GoogleCloudGkemulticloudV1KubernetesSecret"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ListAzureClientsResponse": {
      "deprecated": true,
      "description": "Response message for `AzureClusters.ListAzureClients` method.",
      "type": "object",
      "properties": {
        "azureClients": {
          "description": "A list of AzureClient resources in the specified Google Cloud project and region region.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureClient"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1ListAzureClientsResponse"
    },
    "GoogleLongrunningListOperationsResponse": {
      "id": "GoogleLongrunningListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "type": "object",
      "properties": {
        "unreachable": {
          "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "description": "A list of operations that matches the specified filter in the request.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AzureAuthorization": {
      "id": "GoogleCloudGkemulticloudV1AzureAuthorization",
      "deprecated": true,
      "description": "Configuration related to the cluster RBAC settings.",
      "type": "object",
      "properties": {
        "adminUsers": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureClusterUser"
          },
          "description": "Optional. Users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the users. Up to ten admin users can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array"
        },
        "adminGroups": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureClusterGroup"
          },
          "description": "Optional. Groups of users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the groups. Up to ten admin groups can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array"
        }
      }
    },
    "GoogleCloudGkemulticloudV1GenerateAzureAccessTokenResponse": {
      "id": "GoogleCloudGkemulticloudV1GenerateAzureAccessTokenResponse",
      "description": "Response message for `AzureClusters.GenerateAzureAccessToken` method.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "expirationTime": {
          "description": "Output only. Timestamp at which the token will expire.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "accessToken": {
          "description": "Output only. Access token to authenticate to k8s api-server.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1UpdateSettings": {
      "properties": {
        "surgeSettings": {
          "$ref": "GoogleCloudGkemulticloudV1SurgeSettings",
          "description": "Optional. Settings for surge update."
        }
      },
      "description": "UpdateSettings control the level of parallelism and the level of disruption caused during the update of a node pool. These settings are applicable when the node pool update requires replacing the existing node pool nodes with the updated ones. UpdateSettings are optional. When UpdateSettings are not specified during the node pool creation, a default is chosen based on the parent cluster's version. For clusters with minor version 1.27 and later, a default surge_settings configuration with max_surge = 1 and max_unavailable = 0 is used. For clusters with older versions, node pool updates use the traditional rolling update mechanism of updating one node at a time in a \"terminate before create\" fashion and update_settings is not applicable. Set the surge_settings parameter to use the Surge Update mechanism for the rolling update of node pool nodes. 1. max_surge controls the number of additional nodes that can be created beyond the current size of the node pool temporarily for the time of the update to increase the number of available nodes. 2. max_unavailable controls the number of nodes that can be simultaneously unavailable during the update. 3. (max_surge + max_unavailable) determines the level of parallelism (i.e., the number of nodes being updated at the same time).",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1UpdateSettings"
    },
    "GoogleCloudGkemulticloudV1RollbackAwsNodePoolUpdateRequest": {
      "id": "GoogleCloudGkemulticloudV1RollbackAwsNodePoolUpdateRequest",
      "deprecated": true,
      "description": "Request message for `AwsClusters.RollbackAwsNodePoolUpdate` method.",
      "type": "object",
      "properties": {
        "respectPdb": {
          "description": "Optional. Option for rollback to ignore the PodDisruptionBudget when draining the node pool nodes. Default value is false.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudGkemulticloudV1Jwk": {
      "properties": {
        "y": {
          "description": "Used for ECDSA keys.",
          "type": "string"
        },
        "alg": {
          "description": "Algorithm.",
          "type": "string"
        },
        "use": {
          "description": "Permitted uses for the public keys.",
          "type": "string"
        },
        "e": {
          "description": "Used for RSA keys.",
          "type": "string"
        },
        "kid": {
          "description": "Key ID.",
          "type": "string"
        },
        "n": {
          "description": "Used for RSA keys.",
          "type": "string"
        },
        "crv": {
          "description": "Used for ECDSA keys.",
          "type": "string"
        },
        "kty": {
          "description": "Key Type.",
          "type": "string"
        },
        "x": {
          "description": "Used for ECDSA keys.",
          "type": "string"
        }
      },
      "description": "Jwk is a JSON Web Key as specified in RFC 7517.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1Jwk"
    },
    "GoogleCloudGkemulticloudV1SystemComponentsConfig": {
      "id": "GoogleCloudGkemulticloudV1SystemComponentsConfig",
      "description": "SystemComponentsConfig defines the fields for customizing configurations for auto-installed components.",
      "type": "object",
      "properties": {
        "labels": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1Label"
          },
          "description": "Sets custom labels for pods created by auto-installed components.",
          "type": "array"
        },
        "tolerations": {
          "description": "Sets custom tolerations for pods created by auto-installed components.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1Toleration"
          }
        }
      }
    },
    "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenResponse": {
      "properties": {
        "expires_in": {
          "type": "integer",
          "format": "int32"
        },
        "access_token": {
          "type": "string"
        },
        "token_type": {
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenResponse",
      "deprecated": true,
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureOpenIdConfig": {
      "id": "GoogleCloudGkemulticloudV1AzureOpenIdConfig",
      "properties": {
        "grant_types": {
          "items": {
            "type": "string"
          },
          "description": "Supported grant types.",
          "type": "array"
        },
        "subject_types_supported": {
          "items": {
            "type": "string"
          },
          "description": "Supported subject types.",
          "type": "array"
        },
        "response_types_supported": {
          "description": "Supported response types.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "issuer": {
          "description": "OIDC Issuer.",
          "type": "string"
        },
        "id_token_signing_alg_values_supported": {
          "description": "supported ID Token signing Algorithms.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "claims_supported": {
          "description": "Supported claims.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "jwks_uri": {
          "description": "JSON Web Key uri.",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "AzureOpenIdConfig is an OIDC discovery document for the cluster. See the OpenID Connect Discovery 1.0 specification for details.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureJsonWebKeys": {
      "id": "GoogleCloudGkemulticloudV1AzureJsonWebKeys",
      "description": "AzureJsonWebKeys is a valid JSON Web Key Set as specififed in RFC 7517.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "keys": {
          "description": "The public component of the keys used by the cluster to sign token requests.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1Jwk"
          }
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsServerConfig": {
      "description": "AwsServerConfig is the configuration of GKE cluster on AWS.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "name": {
          "description": "The resource name of the config.",
          "type": "string"
        },
        "validVersions": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsK8sVersionInfo"
          },
          "description": "List of all released Kubernetes versions, including ones which are end of life and can no longer be used. Filter by the `enabled` property to limit to currently available versions. Valid versions supported for both create and update operations",
          "type": "array"
        },
        "supportedAwsRegions": {
          "items": {
            "type": "string"
          },
          "description": "The list of supported AWS regions.",
          "type": "array"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsServerConfig"
    },
    "GoogleCloudGkemulticloudV1CloudMonitoringConfig": {
      "description": "CloudMonitoringConfig defines the configuration for built-in Cloud Logging and Monitoring. Only for Attached Clusters.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1CloudMonitoringConfig",
      "properties": {
        "enabled": {
          "description": "Enable GKE-native logging and metrics. Only for Attached Clusters.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudGkemulticloudV1Label": {
      "properties": {
        "key": {
          "description": "This is the key of the label.",
          "type": "string"
        },
        "value": {
          "description": "This is the value of the label.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1Label",
      "description": "Label defines the additional fields for labels for pods created by auto-installed components.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureClusterError": {
      "id": "GoogleCloudGkemulticloudV1AzureClusterError",
      "deprecated": true,
      "description": "AzureClusterError describes errors found on Azure clusters.",
      "type": "object",
      "properties": {
        "message": {
          "description": "Human-friendly description of the error.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ListAttachedClustersResponse": {
      "description": "Response message for `AttachedClusters.ListAttachedClusters` method.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1ListAttachedClustersResponse",
      "properties": {
        "attachedClusters": {
          "description": "A list of AttachedCluster resources in the specified Google Cloud Platform project and region region.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AttachedCluster"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AzureConfigEncryption": {
      "properties": {
        "keyId": {
          "description": "Required. The ARM ID of the Azure Key Vault key to encrypt / decrypt config data. For example: `/subscriptions//resourceGroups//providers/Microsoft.KeyVault/vaults//keys/`",
          "type": "string"
        },
        "publicKey": {
          "description": "Optional. RSA key of the Azure Key Vault public key to use for encrypting the data. This key must be formatted as a PEM-encoded SubjectPublicKeyInfo (RFC 5280) in ASN.1 DER form. The string must be comprised of a single PEM block of type \"PUBLIC KEY\".",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "Configuration related to config data encryption. Azure VM bootstrap secret is envelope encrypted with the provided key vault key.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AzureConfigEncryption"
    },
    "GoogleCloudGkemulticloudV1LoggingConfig": {
      "properties": {
        "componentConfig": {
          "description": "The configuration of the logging components;",
          "$ref": "GoogleCloudGkemulticloudV1LoggingComponentConfig"
        }
      },
      "id": "GoogleCloudGkemulticloudV1LoggingConfig",
      "description": "Parameters that describe the Logging configuration in a cluster.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AwsCluster": {
      "properties": {
        "annotations": {
          "description": "Optional. Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "authorization": {
          "$ref": "GoogleCloudGkemulticloudV1AwsAuthorization",
          "description": "Required. Configuration related to the cluster RBAC settings."
        },
        "fleet": {
          "$ref": "GoogleCloudGkemulticloudV1Fleet",
          "description": "Required. Fleet configuration."
        },
        "awsRegion": {
          "description": "Required. The AWS region where the cluster runs. Each Google Cloud region supports a subset of nearby AWS regions. You can call GetAwsServerConfig to list all supported AWS regions within a given Google Cloud region.",
          "type": "string"
        },
        "networking": {
          "description": "Required. Cluster-wide networking configuration.",
          "$ref": "GoogleCloudGkemulticloudV1AwsClusterNetworking"
        },
        "errors": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsClusterError"
          },
          "description": "Output only. A set of errors found in the cluster.",
          "readOnly": true,
          "type": "array"
        },
        "monitoringConfig": {
          "$ref": "GoogleCloudGkemulticloudV1MonitoringConfig",
          "description": "Optional. Monitoring configuration for this cluster."
        },
        "clusterCaCertificate": {
          "description": "Output only. PEM encoded x509 certificate of the cluster root of trust.",
          "readOnly": true,
          "type": "string"
        },
        "controlPlane": {
          "$ref": "GoogleCloudGkemulticloudV1AwsControlPlane",
          "description": "Required. Configuration related to the cluster control plane."
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this cluster was created.",
          "readOnly": true,
          "type": "string"
        },
        "loggingConfig": {
          "$ref": "GoogleCloudGkemulticloudV1LoggingConfig",
          "description": "Optional. Logging configuration for this cluster."
        },
        "name": {
          "description": "The name of this resource. Cluster names are formatted as `projects//locations//awsClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
          "type": "string"
        },
        "etag": {
          "description": "Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "enumDescriptions": [
            "Not set.",
            "The PROVISIONING state indicates the cluster is being created.",
            "The RUNNING state indicates the cluster has been created and is fully usable.",
            "The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading the control plane replicas.",
            "The STOPPING state indicates the cluster is being deleted.",
            "The ERROR state indicates the cluster is in a broken unrecoverable state.",
            "The DEGRADED state indicates the cluster requires user action to restore full functionality."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PROVISIONING",
            "RUNNING",
            "RECONCILING",
            "STOPPING",
            "ERROR",
            "DEGRADED"
          ],
          "description": "Output only. The current state of the cluster.",
          "type": "string"
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the cluster.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.",
          "type": "string"
        },
        "workloadIdentityConfig": {
          "$ref": "GoogleCloudGkemulticloudV1WorkloadIdentityConfig",
          "description": "Output only. Workload Identity settings.",
          "readOnly": true
        },
        "binaryAuthorization": {
          "description": "Optional. Binary Authorization configuration for this cluster.",
          "$ref": "GoogleCloudGkemulticloudV1BinaryAuthorization"
        },
        "reconciling": {
          "description": "Output only. If set, there are currently changes in flight to the cluster.",
          "readOnly": true,
          "type": "boolean"
        },
        "updateTime": {
          "description": "Output only. The time at which this cluster was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "endpoint": {
          "description": "Output only. The endpoint of the cluster's API server.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "An Anthos cluster running on AWS.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AwsCluster"
    },
    "GoogleCloudGkemulticloudV1ImportAttachedClusterRequest": {
      "id": "GoogleCloudGkemulticloudV1ImportAttachedClusterRequest",
      "description": "Request message for `AttachedClusters.ImportAttachedCluster` method.",
      "type": "object",
      "properties": {
        "validateOnly": {
          "description": "If set, only validate the request, but do not actually import the cluster.",
          "type": "boolean"
        },
        "fleetMembership": {
          "description": "Required. The name of the fleet membership resource to import.",
          "type": "string"
        },
        "platformVersion": {
          "description": "Required. The platform version for the cluster (e.g. `1.19.0-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAttachedServerConfig.",
          "type": "string"
        },
        "proxyConfig": {
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic.",
          "$ref": "GoogleCloudGkemulticloudV1AttachedProxyConfig"
        },
        "distribution": {
          "description": "Required. The Kubernetes distribution of the underlying attached cluster. Supported values: [\"eks\", \"aks\", \"generic\"].",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsSshConfig": {
      "id": "GoogleCloudGkemulticloudV1AwsSshConfig",
      "deprecated": true,
      "description": "SSH configuration for AWS resources.",
      "type": "object",
      "properties": {
        "ec2KeyPair": {
          "description": "Required. The name of the EC2 key pair used to login into cluster machines.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AzureClusterUser": {
      "deprecated": true,
      "description": "Identities of a user-type subject for Azure clusters.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Required. The name of the user, e.g. `my-gcp-id@gmail.com`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureClusterUser"
    },
    "GoogleCloudGkemulticloudV1GenerateAttachedClusterInstallManifestResponse": {
      "properties": {
        "manifest": {
          "description": "A set of Kubernetes resources (in YAML format) to be applied to the cluster to be attached.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1GenerateAttachedClusterInstallManifestResponse",
      "description": "Response message for `AttachedClusters.GenerateAttachedClusterInstallManifest` method.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1NodeTaint": {
      "id": "GoogleCloudGkemulticloudV1NodeTaint",
      "description": "The taint content for the node taint.",
      "type": "object",
      "properties": {
        "value": {
          "description": "Required. Value for the taint.",
          "type": "string"
        },
        "key": {
          "description": "Required. Key for the taint.",
          "type": "string"
        },
        "effect": {
          "enumDescriptions": [
            "Not set.",
            "Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.",
            "Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.",
            "Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController."
          ],
          "enum": [
            "EFFECT_UNSPECIFIED",
            "NO_SCHEDULE",
            "PREFER_NO_SCHEDULE",
            "NO_EXECUTE"
          ],
          "description": "Required. The taint effect.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ListAzureNodePoolsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "azureNodePools": {
          "description": "A list of AzureNodePool resources in the specified `AzureCluster`.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureNodePool"
          }
        }
      },
      "description": "Response message for `AzureClusters.ListAzureNodePools` method.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1ListAzureNodePoolsResponse"
    },
    "GoogleCloudGkemulticloudV1Toleration": {
      "description": "Toleration defines the fields for tolerations for pods created by auto-installed components.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1Toleration",
      "properties": {
        "value": {
          "description": "Value is the taint value that the toleration applies to.",
          "type": "string"
        },
        "keyOperator": {
          "enumDescriptions": [
            "Operator is not specified.",
            "Operator maps to 'Equal'.",
            "Operator maps to 'Exists'."
          ],
          "enum": [
            "KEY_OPERATOR_UNSPECIFIED",
            "KEY_OPERATOR_EQUAL",
            "KEY_OPERATOR_EXISTS"
          ],
          "description": "KeyOperator represents a key's relationship to the value e.g. 'Exist'.",
          "type": "string"
        },
        "key": {
          "description": "Key is the taint key that the toleration applies to.",
          "type": "string"
        },
        "effect": {
          "description": "Effect indicates the taint effect to match e.g. 'NoSchedule'",
          "type": "string",
          "enumDescriptions": [
            "Effect is not specified.",
            "Effect maps to 'NoSchedule'.",
            "Effect maps to 'PreferNoSchedule'.",
            "Effect maps to 'NoExecute'."
          ],
          "enum": [
            "EFFECT_UNSPECIFIED",
            "EFFECT_NO_SCHEDULE",
            "EFFECT_PREFER_NO_SCHEDULE",
            "EFFECT_NO_EXECUTE"
          ]
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsServicesAuthentication": {
      "properties": {
        "roleArn": {
          "description": "Required. The Amazon Resource Name (ARN) of the role that the Anthos Multi-Cloud API will assume when managing AWS resources on your account.",
          "type": "string"
        },
        "roleSessionName": {
          "description": "Optional. An identifier for the assumed role session. When unspecified, it defaults to `multicloud-service-agent`.",
          "type": "string"
        }
      },
      "description": "Authentication configuration for the management of AWS resources.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AwsServicesAuthentication"
    },
    "GoogleCloudGkemulticloudV1ListAzureClustersResponse": {
      "id": "GoogleCloudGkemulticloudV1ListAzureClustersResponse",
      "properties": {
        "azureClusters": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureCluster"
          },
          "description": "A list of AzureCluster resources in the specified Google Cloud Platform project and region region.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "Response message for `AzureClusters.ListAzureClusters` method.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1MaxPodsConstraint": {
      "description": "Constraints applied to pods.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1MaxPodsConstraint",
      "properties": {
        "maxPodsPerNode": {
          "description": "Required. The maximum number of pods to schedule on a single node.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsK8sVersionInfo": {
      "id": "GoogleCloudGkemulticloudV1AwsK8sVersionInfo",
      "properties": {
        "endOfLifeDate": {
          "$ref": "GoogleTypeDate",
          "description": "Optional. The estimated date (in Pacific Time) when this cluster version will reach its end of life. Or if this version is no longer supported (the `end_of_life` field is true), this is the actual date (in Pacific time) when the version reached its end of life."
        },
        "enabled": {
          "description": "Optional. True if the version is available for cluster creation. If a version is enabled for creation, it can be used to create new clusters. Otherwise, cluster creation will fail. However, cluster upgrade operations may succeed, even if the version is not enabled.",
          "type": "boolean"
        },
        "releaseDate": {
          "$ref": "GoogleTypeDate",
          "description": "Optional. The date (in Pacific Time) when the cluster version was released."
        },
        "version": {
          "description": "Kubernetes version name.",
          "type": "string"
        },
        "endOfLife": {
          "description": "Optional. True if this cluster version belongs to a minor version that has reached its end of life and is no longer in scope to receive security and bug fixes.",
          "type": "boolean"
        }
      },
      "deprecated": true,
      "description": "Kubernetes version information of GKE cluster on AWS.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureSshConfig": {
      "id": "GoogleCloudGkemulticloudV1AzureSshConfig",
      "properties": {
        "authorizedKey": {
          "description": "Required. The SSH public key data for VMs managed by Anthos. This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page.",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "SSH configuration for Azure resources.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureNodeConfig": {
      "id": "GoogleCloudGkemulticloudV1AzureNodeConfig",
      "properties": {
        "imageType": {
          "description": "Optional. The OS image type to use on node pool instances. Can be unspecified, or have a value of `ubuntu`. When unspecified, it defaults to `ubuntu`.",
          "type": "string"
        },
        "sshConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AzureSshConfig",
          "description": "Required. SSH configuration for how to access the node pool machines."
        },
        "taints": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1NodeTaint"
          },
          "description": "Optional. The initial taints assigned to nodes of this node pool.",
          "type": "array"
        },
        "rootVolume": {
          "$ref": "GoogleCloudGkemulticloudV1AzureDiskTemplate",
          "description": "Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk."
        },
        "configEncryption": {
          "$ref": "GoogleCloudGkemulticloudV1AzureConfigEncryption",
          "description": "Optional. Configuration related to vm config encryption."
        },
        "labels": {
          "description": "Optional. The initial labels assigned to nodes of this node pool. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.",
          "type": "object"
        },
        "proxyConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AzureProxyConfig",
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic."
        },
        "vmSize": {
          "description": "Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See [Supported VM sizes](/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`.",
          "type": "string"
        }
      },
      "description": "Parameters that describe the configuration of all node machines on a given node pool.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenRequest": {
      "properties": {
        "version": {
          "description": "Required.",
          "type": "string"
        },
        "subjectToken": {
          "description": "Required.",
          "type": "string"
        },
        "audience": {
          "description": "Optional.",
          "type": "string"
        },
        "grantType": {
          "description": "Optional.",
          "type": "string"
        },
        "options": {
          "description": "Optional.",
          "type": "string"
        },
        "subjectTokenType": {
          "description": "Required.",
          "type": "string"
        },
        "scope": {
          "description": "Optional.",
          "type": "string"
        },
        "requestedTokenType": {
          "description": "Optional.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1GenerateAttachedClusterAgentTokenRequest"
    },
    "GoogleCloudGkemulticloudV1BinaryAuthorization": {
      "properties": {
        "evaluationMode": {
          "enumDescriptions": [
            "Default value",
            "Disable BinaryAuthorization",
            "Enforce Kubernetes admission requests with BinaryAuthorization using the project's singleton policy."
          ],
          "enum": [
            "EVALUATION_MODE_UNSPECIFIED",
            "DISABLED",
            "PROJECT_SINGLETON_POLICY_ENFORCE"
          ],
          "description": "Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED.",
          "type": "string"
        }
      },
      "description": "Configuration for Binary Authorization.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1BinaryAuthorization"
    },
    "GoogleProtobufEmpty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object",
      "id": "GoogleProtobufEmpty",
      "properties": {}
    },
    "GoogleCloudGkemulticloudV1AzureClient": {
      "id": "GoogleCloudGkemulticloudV1AzureClient",
      "description": "`AzureClient` resources hold client authentication information needed by the Anthos Multi-Cloud API to manage Azure resources on your Azure subscription. When an AzureCluster is created, an `AzureClient` resource needs to be provided and all operations on Azure resources associated to that cluster will authenticate to Azure services using the given client. `AzureClient` resources are immutable and cannot be modified upon creation. Each `AzureClient` resource is bound to a single Azure Active Directory Application and tenant.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "pemCertificate": {
          "description": "Output only. The PEM encoded x509 certificate.",
          "readOnly": true,
          "type": "string"
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the client.",
          "readOnly": true,
          "type": "string"
        },
        "reconciling": {
          "description": "Output only. If set, there are currently pending changes to the client.",
          "readOnly": true,
          "type": "boolean"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this client was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "tenantId": {
          "description": "Required. The Azure Active Directory Tenant ID.",
          "type": "string"
        },
        "applicationId": {
          "description": "Required. The Azure Active Directory Application ID.",
          "type": "string"
        },
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Annotations on the resource. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object"
        },
        "createTime": {
          "description": "Output only. The time at which this resource was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "description": "The name of this resource. `AzureClient` resource names are formatted as `projects//locations//azureClients/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AzureServicesAuthentication": {
      "deprecated": true,
      "description": "Authentication configuration for the management of Azure resources.",
      "type": "object",
      "properties": {
        "tenantId": {
          "description": "Required. The Azure Active Directory Tenant ID.",
          "type": "string"
        },
        "applicationId": {
          "description": "Required. The Azure Active Directory Application ID.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureServicesAuthentication"
    },
    "GoogleCloudGkemulticloudV1AzureClusterNetworking": {
      "id": "GoogleCloudGkemulticloudV1AzureClusterNetworking",
      "deprecated": true,
      "description": "ClusterNetworking contains cluster-wide networking configuration.",
      "type": "object",
      "properties": {
        "serviceLoadBalancerSubnetId": {
          "description": "Optional. The ARM ID of the subnet where Kubernetes private service type load balancers are deployed. When unspecified, it defaults to AzureControlPlane.subnet_id. Example: \"/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid456\"",
          "type": "string"
        },
        "podAddressCidrBlocks": {
          "items": {
            "type": "string"
          },
          "description": "Required. The IP address range of the pods in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All pods in the cluster get assigned a unique IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.",
          "type": "array"
        },
        "serviceAddressCidrBlocks": {
          "description": "Required. The IP address range for services in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All services in the cluster get assigned a unique IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creating a cluster.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "virtualNetworkId": {
          "description": "Required. The Azure Resource Manager (ARM) ID of the VNet associated with your cluster. All components in the cluster (i.e. control plane and node pools) run on a single VNet. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks/` This field cannot be changed after creation.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ManagedPrometheusConfig": {
      "properties": {
        "enabled": {
          "description": "Enable Managed Collection.",
          "type": "boolean"
        }
      },
      "description": "ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1ManagedPrometheusConfig"
    },
    "GoogleCloudGkemulticloudV1AwsNodePoolError": {
      "deprecated": true,
      "description": "AwsNodePoolError describes errors found on AWS node pools.",
      "type": "object",
      "properties": {
        "message": {
          "description": "Human-friendly description of the error.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsNodePoolError"
    },
    "GoogleCloudGkemulticloudV1AttachedClusterError": {
      "properties": {
        "message": {
          "description": "Human-friendly description of the error.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AttachedClusterError",
      "description": "AttachedClusterError describes errors found on attached clusters.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1ListAwsNodePoolsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        },
        "awsNodePools": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsNodePool"
          },
          "description": "A list of AwsNodePool resources in the specified `AwsCluster`.",
          "type": "array"
        }
      },
      "deprecated": true,
      "description": "Response message for `AwsClusters.ListAwsNodePools` method.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1ListAwsNodePoolsResponse"
    },
    "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenRequest": {
      "properties": {
        "version": {
          "description": "Required.",
          "type": "string"
        },
        "grantType": {
          "description": "Optional.",
          "type": "string"
        },
        "options": {
          "description": "Optional.",
          "type": "string"
        },
        "requestedTokenType": {
          "description": "Optional.",
          "type": "string"
        },
        "subjectToken": {
          "description": "Required.",
          "type": "string"
        },
        "audience": {
          "description": "Optional.",
          "type": "string"
        },
        "subjectTokenType": {
          "description": "Required.",
          "type": "string"
        },
        "nodePoolId": {
          "description": "Optional.",
          "type": "string"
        },
        "scope": {
          "description": "Optional.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1GenerateAwsClusterAgentTokenRequest",
      "deprecated": true,
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1SecurityPostureConfig": {
      "properties": {
        "vulnerabilityMode": {
          "enumDescriptions": [
            "Default value not specified.",
            "Disables vulnerability scanning on the cluster.",
            "Applies the Security Posture's vulnerability on cluster Enterprise level features."
          ],
          "enum": [
            "VULNERABILITY_MODE_UNSPECIFIED",
            "VULNERABILITY_DISABLED",
            "VULNERABILITY_ENTERPRISE"
          ],
          "description": "Sets which mode to use for vulnerability scanning.",
          "type": "string"
        }
      },
      "description": "SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1SecurityPostureConfig"
    },
    "GoogleCloudGkemulticloudV1AzureK8sVersionInfo": {
      "description": "Kubernetes version information of GKE cluster on Azure.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "version": {
          "description": "Kubernetes version name (for example, `1.19.10-gke.1000`)",
          "type": "string"
        },
        "endOfLife": {
          "description": "Optional. True if this cluster version belongs to a minor version that has reached its end of life and is no longer in scope to receive security and bug fixes.",
          "type": "boolean"
        },
        "endOfLifeDate": {
          "description": "Optional. The estimated date (in Pacific Time) when this cluster version will reach its end of life. Or if this version is no longer supported (the `end_of_life` field is true), this is the actual date (in Pacific time) when the version reached its end of life.",
          "$ref": "GoogleTypeDate"
        },
        "enabled": {
          "description": "Optional. True if the version is available for cluster creation. If a version is enabled for creation, it can be used to create new clusters. Otherwise, cluster creation will fail. However, cluster upgrade operations may succeed, even if the version is not enabled.",
          "type": "boolean"
        },
        "releaseDate": {
          "$ref": "GoogleTypeDate",
          "description": "Optional. The date (in Pacific Time) when the cluster version was released."
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureK8sVersionInfo"
    },
    "GoogleTypeDate": {
      "id": "GoogleTypeDate",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "type": "object",
      "properties": {
        "year": {
          "format": "int32",
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer"
        },
        "day": {
          "format": "int32",
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "type": "integer"
        },
        "month": {
          "format": "int32",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "type": "integer"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsNodeManagement": {
      "id": "GoogleCloudGkemulticloudV1AwsNodeManagement",
      "description": "AwsNodeManagement defines the set of node management features turned on for an AWS node pool.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "autoRepair": {
          "description": "Optional. Whether or not the nodes will be automatically repaired. When set to true, the nodes in this node pool will be monitored and if they fail health checks consistently over a period of time, an automatic repair action will be triggered to replace them with new nodes.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AttachedClustersAuthorization": {
      "description": "Configuration related to the cluster RBAC settings.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedClustersAuthorization",
      "properties": {
        "adminUsers": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AttachedClusterUser"
          },
          "description": "Optional. Users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the users. Up to ten admin users can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array"
        },
        "adminGroups": {
          "description": "Optional. Groups of users that can perform operations as a cluster admin. A managed ClusterRoleBinding will be created to grant the `cluster-admin` ClusterRole to the groups. Up to ten admin groups can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AttachedClusterGroup"
          }
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsJsonWebKeys": {
      "id": "GoogleCloudGkemulticloudV1AwsJsonWebKeys",
      "description": "AwsJsonWebKeys is a valid JSON Web Key Set as specififed in RFC 7517.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "keys": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1Jwk"
          },
          "description": "The public component of the keys used by the cluster to sign token requests.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsNodePool": {
      "properties": {
        "maxPodsConstraint": {
          "description": "Required. The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.",
          "$ref": "GoogleCloudGkemulticloudV1MaxPodsConstraint"
        },
        "subnetId": {
          "description": "Required. The subnet where the node pool node run.",
          "type": "string"
        },
        "kubeletConfig": {
          "description": "Optional. Node kubelet configs.",
          "$ref": "GoogleCloudGkemulticloudV1NodeKubeletConfig"
        },
        "reconciling": {
          "description": "Output only. If set, there are currently changes in flight to the node pool.",
          "readOnly": true,
          "type": "boolean"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this node pool was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "updateSettings": {
          "description": "Optional. Update settings control the speed and disruption of the update.",
          "$ref": "GoogleCloudGkemulticloudV1UpdateSettings"
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the node pool.",
          "readOnly": true,
          "type": "string"
        },
        "version": {
          "description": "Required. The Kubernetes version to run on this node pool (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAwsServerConfig.",
          "type": "string"
        },
        "state": {
          "description": "Output only. The lifecycle state of the node pool.",
          "type": "string",
          "enumDescriptions": [
            "Not set.",
            "The PROVISIONING state indicates the node pool is being created.",
            "The RUNNING state indicates the node pool has been created and is fully usable.",
            "The RECONCILING state indicates that the node pool is being reconciled.",
            "The STOPPING state indicates the node pool is being deleted.",
            "The ERROR state indicates the node pool is in a broken unrecoverable state.",
            "The DEGRADED state indicates the node pool requires user action to restore full functionality."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PROVISIONING",
            "RUNNING",
            "RECONCILING",
            "STOPPING",
            "ERROR",
            "DEGRADED"
          ],
          "readOnly": true
        },
        "management": {
          "$ref": "GoogleCloudGkemulticloudV1AwsNodeManagement",
          "description": "Optional. The Management configuration for this node pool."
        },
        "etag": {
          "description": "Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "name": {
          "description": "The name of this resource. Node pool names are formatted as `projects//locations//awsClusters//awsNodePools/`. For more details on Google Cloud resource names, see [Resource Names](https://cloud.google.com/apis/design/resource_names)",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which this node pool was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "errors": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsNodePoolError"
          },
          "description": "Output only. A set of errors found in the node pool.",
          "readOnly": true,
          "type": "array"
        },
        "config": {
          "$ref": "GoogleCloudGkemulticloudV1AwsNodeConfig",
          "description": "Required. The configuration of the node pool."
        },
        "autoscaling": {
          "description": "Required. Autoscaler configuration for this node pool.",
          "$ref": "GoogleCloudGkemulticloudV1AwsNodePoolAutoscaling"
        },
        "annotations": {
          "description": "Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "deprecated": true,
      "description": "An Anthos node pool running on AWS.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AwsNodePool"
    },
    "GoogleCloudGkemulticloudV1AttachedPlatformVersionInfo": {
      "description": "Information about a supported Attached Clusters platform version.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedPlatformVersionInfo",
      "properties": {
        "version": {
          "description": "Platform version name.",
          "type": "string"
        },
        "endOfLife": {
          "description": "Optional. True if this cluster version belongs to a minor version that has reached its end of life and is no longer in scope to receive security and bug fixes.",
          "type": "boolean"
        },
        "endOfLifeDate": {
          "$ref": "GoogleTypeDate",
          "description": "Optional. The estimated date (in Pacific Time) when this cluster version will reach its end of life. Or if this version is no longer supported (the `end_of_life` field is true), this is the actual date (in Pacific time) when the version reached its end of life."
        },
        "enabled": {
          "description": "Optional. True if the version is available for attachedcluster creation. If a version is enabled, it can be used to attach new clusters.",
          "type": "boolean"
        },
        "releaseDate": {
          "description": "Optional. The date (in Pacific Time) when the cluster version was released.",
          "$ref": "GoogleTypeDate"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ReplicaPlacement": {
      "id": "GoogleCloudGkemulticloudV1ReplicaPlacement",
      "description": "Configuration for the placement of a control plane replica.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "subnetId": {
          "description": "Required. For a given replica, the ARM ID of the subnet where the control plane VM is deployed. Make sure it's a subnet under the virtual network in the cluster configuration.",
          "type": "string"
        },
        "azureAvailabilityZone": {
          "description": "Required. For a given replica, the Azure availability zone where to provision the control plane VM and the ETCD disk.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsClusterUser": {
      "id": "GoogleCloudGkemulticloudV1AwsClusterUser",
      "deprecated": true,
      "description": "Identities of a user-type subject for AWS clusters.",
      "type": "object",
      "properties": {
        "username": {
          "description": "Required. The name of the user, e.g. `my-gcp-id@gmail.com`.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1ListAwsClustersResponse": {
      "properties": {
        "awsClusters": {
          "description": "A list of AwsCluster resources in the specified Google Cloud Platform project and region region.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AwsCluster"
          }
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
          "type": "string"
        }
      },
      "description": "Response message for `AwsClusters.ListAwsClusters` method.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1ListAwsClustersResponse"
    },
    "GoogleCloudGkemulticloudV1AwsConfigEncryption": {
      "id": "GoogleCloudGkemulticloudV1AwsConfigEncryption",
      "properties": {
        "kmsKeyArn": {
          "description": "Required. The ARN of the AWS KMS key used to encrypt user data.",
          "type": "string"
        }
      },
      "description": "Config encryption for user data.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1NodeKubeletConfig": {
      "description": "Configuration for node pool kubelet options.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1NodeKubeletConfig",
      "properties": {
        "cpuCfsQuota": {
          "description": "Optional. Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.",
          "type": "boolean"
        },
        "podPidsLimit": {
          "description": "Optional. Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.",
          "type": "string",
          "format": "int64"
        },
        "cpuManagerPolicy": {
          "description": "Optional. Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.",
          "type": "string"
        },
        "insecureKubeletReadonlyPortEnabled": {
          "description": "Optional. Enable the insecure kubelet read only port.",
          "type": "boolean"
        },
        "cpuCfsQuotaPeriod": {
          "description": "Optional. Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300ms\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". The value must be a positive duration. The default value is '100ms' if unspecified.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsNodeConfig": {
      "id": "GoogleCloudGkemulticloudV1AwsNodeConfig",
      "description": "Parameters that describe the nodes in a cluster.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "sshConfig": {
          "description": "Optional. The SSH configuration.",
          "$ref": "GoogleCloudGkemulticloudV1AwsSshConfig"
        },
        "autoscalingMetricsCollection": {
          "description": "Optional. Configuration related to CloudWatch metrics collection on the Auto Scaling group of the node pool. When unspecified, metrics collection is disabled.",
          "$ref": "GoogleCloudGkemulticloudV1AwsAutoscalingGroupMetricsCollection"
        },
        "securityGroupIds": {
          "description": "Optional. The IDs of additional security groups to add to nodes in this pool. The manager will automatically create security groups with minimum rules needed for a functioning cluster.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "instancePlacement": {
          "$ref": "GoogleCloudGkemulticloudV1AwsInstancePlacement",
          "description": "Optional. Placement related info for this node. When unspecified, the VPC's default tenancy will be used."
        },
        "instanceType": {
          "description": "Optional. The EC2 instance type when creating on-Demand instances. If unspecified during node pool creation, a default will be chosen based on the node pool version, and assigned to this field.",
          "type": "string"
        },
        "configEncryption": {
          "$ref": "GoogleCloudGkemulticloudV1AwsConfigEncryption",
          "description": "Required. Config encryption for user data."
        },
        "tags": {
          "description": "Optional. Key/value metadata to assign to each underlying AWS resource. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "labels": {
          "description": "Optional. The initial labels assigned to nodes of this node pool. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "taints": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1NodeTaint"
          },
          "description": "Optional. The initial taints assigned to nodes of this node pool.",
          "type": "array"
        },
        "imageType": {
          "description": "Optional. The OS image type to use on node pool instances. Can be unspecified, or have a value of `ubuntu`. When unspecified, it defaults to `ubuntu`.",
          "type": "string"
        },
        "rootVolume": {
          "$ref": "GoogleCloudGkemulticloudV1AwsVolumeTemplate",
          "description": "Optional. Template for the root volume provisioned for node pool nodes. Volumes will be provisioned in the availability zone assigned to the node pool subnet. When unspecified, it defaults to 32 GiB with the GP2 volume type."
        },
        "iamInstanceProfile": {
          "description": "Required. The name or ARN of the AWS IAM instance profile to assign to nodes in the pool.",
          "type": "string"
        },
        "proxyConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AwsProxyConfig",
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic."
        },
        "spotConfig": {
          "description": "Optional. Configuration for provisioning EC2 Spot instances When specified, the node pool will provision Spot instances from the set of spot_config.instance_types. This field is mutually exclusive with `instance_type`.",
          "$ref": "GoogleCloudGkemulticloudV1SpotConfig"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsNodePoolAutoscaling": {
      "properties": {
        "minNodeCount": {
          "description": "Required. Minimum number of nodes in the node pool. Must be greater than or equal to 1 and less than or equal to max_node_count.",
          "type": "integer",
          "format": "int32"
        },
        "maxNodeCount": {
          "description": "Required. Maximum number of nodes in the node pool. Must be greater than or equal to min_node_count and less than or equal to 50.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "AwsNodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AwsNodePoolAutoscaling"
    },
    "GoogleLongrunningOperation": {
      "id": "GoogleLongrunningOperation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "response": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "error": {
          "$ref": "GoogleRpcStatus",
          "description": "The error result of the operation in case of failure or cancellation."
        }
      }
    },
    "GoogleRpcStatus": {
      "properties": {
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array"
        },
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        }
      },
      "id": "GoogleRpcStatus",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AwsClusterGroup": {
      "description": "Identities of a group-type subject for AWS clusters.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "group": {
          "description": "Required. The name of the group, e.g. `my-group@domain.com`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsClusterGroup"
    },
    "GoogleCloudGkemulticloudV1AzureProxyConfig": {
      "properties": {
        "resourceGroupId": {
          "description": "The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions//resourceGroups/`.",
          "type": "string"
        },
        "secretId": {
          "description": "The URL the of the proxy setting secret with its version. The secret must be a JSON encoded proxy configuration as described in https://cloud.google.com/kubernetes-engine/multi-cloud/docs/azure/how-to/use-a-proxy#create_a_proxy_configuration_file Secret ids are formatted as `https://.vault.azure.net/secrets//`.",
          "type": "string"
        }
      },
      "deprecated": true,
      "description": "Details of a proxy config stored in Azure Key Vault.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AzureProxyConfig"
    },
    "GoogleCloudGkemulticloudV1AwsDatabaseEncryption": {
      "deprecated": true,
      "description": "Configuration related to application-layer secrets encryption.",
      "type": "object",
      "properties": {
        "kmsKeyArn": {
          "description": "Required. The ARN of the AWS KMS key used to encrypt cluster secrets.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsDatabaseEncryption"
    },
    "GoogleCloudGkemulticloudV1AttachedServerConfig": {
      "properties": {
        "name": {
          "description": "The resource name of the config.",
          "type": "string"
        },
        "validVersions": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AttachedPlatformVersionInfo"
          },
          "description": "List of valid platform versions.",
          "type": "array"
        }
      },
      "description": "AttachedServerConfig provides information about supported Kubernetes versions",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedServerConfig"
    },
    "GoogleCloudGkemulticloudV1AttachedClusterUser": {
      "properties": {
        "username": {
          "description": "Required. The name of the user, e.g. `my-gcp-id@gmail.com`.",
          "type": "string"
        }
      },
      "description": "Identities of a user-type subject for Attached clusters.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedClusterUser"
    },
    "GoogleLongrunningCancelOperationRequest": {
      "id": "GoogleLongrunningCancelOperationRequest",
      "description": "The request message for Operations.CancelOperation.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudGkemulticloudV1AwsInstancePlacement": {
      "deprecated": true,
      "description": "Details of placement information for an instance. Limitations for using the `host` tenancy: * T3 instances that use the unlimited CPU credit option don't support host tenancy.",
      "type": "object",
      "properties": {
        "tenancy": {
          "description": "Required. The tenancy for instance.",
          "type": "string",
          "enumDescriptions": [
            "Not set.",
            "Use default VPC tenancy.",
            "Run a dedicated instance.",
            "Launch this instance to a dedicated host."
          ],
          "enum": [
            "TENANCY_UNSPECIFIED",
            "DEFAULT",
            "DEDICATED",
            "HOST"
          ]
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsInstancePlacement"
    },
    "GoogleCloudGkemulticloudV1Fleet": {
      "properties": {
        "project": {
          "description": "Required. The name of the Fleet host project where this cluster will be registered. Project names are formatted as `projects/`.",
          "type": "string"
        },
        "membership": {
          "description": "Output only. The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as `projects//locations/global/membership/`.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1Fleet",
      "description": "Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See [Anthos Fleets](https://cloud.google.com/anthos/multicluster-management/fleets) for more details on Anthos multi-cluster capabilities using Fleets.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureClusterResources": {
      "id": "GoogleCloudGkemulticloudV1AzureClusterResources",
      "properties": {
        "networkSecurityGroupId": {
          "description": "Output only. The ARM ID of the cluster network security group.",
          "readOnly": true,
          "type": "string"
        },
        "controlPlaneApplicationSecurityGroupId": {
          "description": "Output only. The ARM ID of the control plane application security group.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Managed Azure resources for the cluster. The values could change and be empty, depending on the state of the cluster.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AzureCluster": {
      "properties": {
        "authorization": {
          "$ref": "GoogleCloudGkemulticloudV1AzureAuthorization",
          "description": "Required. Configuration related to the cluster RBAC settings."
        },
        "resourceGroupId": {
          "description": "Required. The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions//resourceGroups/`",
          "type": "string"
        },
        "fleet": {
          "$ref": "GoogleCloudGkemulticloudV1Fleet",
          "description": "Required. Fleet configuration."
        },
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.",
          "type": "object"
        },
        "azureRegion": {
          "description": "Required. The Azure region where the cluster runs. Each Google Cloud region supports a subset of nearby Azure regions. You can call GetAzureServerConfig to list all supported Azure regions within a given Google Cloud region.",
          "type": "string"
        },
        "clusterCaCertificate": {
          "description": "Output only. PEM encoded x509 certificate of the cluster root of trust.",
          "readOnly": true,
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1AzureClusterError"
          },
          "description": "Output only. A set of errors found in the cluster.",
          "readOnly": true,
          "type": "array"
        },
        "monitoringConfig": {
          "$ref": "GoogleCloudGkemulticloudV1MonitoringConfig",
          "description": "Optional. Monitoring configuration for this cluster."
        },
        "networking": {
          "description": "Required. Cluster-wide networking configuration.",
          "$ref": "GoogleCloudGkemulticloudV1AzureClusterNetworking"
        },
        "azureServicesAuthentication": {
          "$ref": "GoogleCloudGkemulticloudV1AzureServicesAuthentication",
          "description": "Optional. Authentication configuration for management of Azure resources. Either azure_client or azure_services_authentication should be provided."
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this cluster was created.",
          "readOnly": true,
          "type": "string"
        },
        "loggingConfig": {
          "description": "Optional. Logging configuration for this cluster.",
          "$ref": "GoogleCloudGkemulticloudV1LoggingConfig"
        },
        "managedResources": {
          "$ref": "GoogleCloudGkemulticloudV1AzureClusterResources",
          "description": "Output only. Managed Azure resources for this cluster.",
          "readOnly": true
        },
        "etag": {
          "description": "Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.",
          "type": "string"
        },
        "name": {
          "description": "The name of this resource. Cluster names are formatted as `projects//locations//azureClusters/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud Platform resource names.",
          "type": "string"
        },
        "controlPlane": {
          "$ref": "GoogleCloudGkemulticloudV1AzureControlPlane",
          "description": "Required. Configuration related to the cluster control plane."
        },
        "azureClient": {
          "description": "Optional. Name of the AzureClient that contains authentication configuration for how the Anthos Multi-Cloud API connects to Azure APIs. Either azure_client or azure_services_authentication should be provided. The `AzureClient` resource must reside on the same Google Cloud Platform project and region as the `AzureCluster`. `AzureClient` names are formatted as `projects//locations//azureClients/`. See [Resource Names](https://cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.",
          "type": "string"
        },
        "endpoint": {
          "description": "Output only. The endpoint of the cluster's API server.",
          "readOnly": true,
          "type": "string"
        },
        "uid": {
          "description": "Output only. A globally unique identifier for the cluster.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "description": "Output only. The current state of the cluster.",
          "type": "string",
          "enumDescriptions": [
            "Not set.",
            "The PROVISIONING state indicates the cluster is being created.",
            "The RUNNING state indicates the cluster has been created and is fully usable.",
            "The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading the control plane replicas.",
            "The STOPPING state indicates the cluster is being deleted.",
            "The ERROR state indicates the cluster is in a broken unrecoverable state.",
            "The DEGRADED state indicates the cluster requires user action to restore full functionality."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PROVISIONING",
            "RUNNING",
            "RECONCILING",
            "STOPPING",
            "ERROR",
            "DEGRADED"
          ]
        },
        "reconciling": {
          "description": "Output only. If set, there are currently changes in flight to the cluster.",
          "readOnly": true,
          "type": "boolean"
        },
        "updateTime": {
          "format": "google-datetime",
          "description": "Output only. The time at which this cluster was last updated.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.",
          "type": "string"
        },
        "workloadIdentityConfig": {
          "description": "Output only. Workload Identity settings.",
          "readOnly": true,
          "$ref": "GoogleCloudGkemulticloudV1WorkloadIdentityConfig"
        }
      },
      "description": "An Anthos cluster running on Azure.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AzureCluster"
    },
    "GoogleCloudGkemulticloudV1AzureClusterGroup": {
      "description": "Identities of a group-type subject for Azure clusters.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "group": {
          "description": "Required. The name of the group, e.g. `my-group@domain.com`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureClusterGroup"
    },
    "GoogleCloudGkemulticloudV1AwsProxyConfig": {
      "deprecated": true,
      "description": "Details of a proxy config stored in AWS Secret Manager.",
      "type": "object",
      "properties": {
        "secretArn": {
          "description": "The ARN of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration. The secret must be a JSON encoded proxy configuration as described in https://cloud.google.com/kubernetes-engine/multi-cloud/docs/aws/how-to/use-a-proxy#create_a_proxy_configuration_file",
          "type": "string"
        },
        "secretVersion": {
          "description": "The version string of the AWS Secret Manager secret that contains the HTTP(S) proxy configuration.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsProxyConfig"
    },
    "GoogleCloudGkemulticloudV1SpotConfig": {
      "deprecated": true,
      "description": "SpotConfig has configuration info for Spot node.",
      "type": "object",
      "properties": {
        "instanceTypes": {
          "items": {
            "type": "string"
          },
          "description": "Required. A list of instance types for creating spot node pool.",
          "type": "array"
        }
      },
      "id": "GoogleCloudGkemulticloudV1SpotConfig"
    },
    "GoogleCloudGkemulticloudV1GenerateAwsAccessTokenResponse": {
      "description": "Response message for `AwsClusters.GenerateAwsAccessToken` method.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "expirationTime": {
          "format": "google-datetime",
          "description": "Output only. Timestamp at which the token will expire.",
          "readOnly": true,
          "type": "string"
        },
        "accessToken": {
          "description": "Output only. Access token to authenticate to k8s api-server.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1GenerateAwsAccessTokenResponse"
    },
    "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenRequest": {
      "properties": {
        "version": {
          "description": "Required.",
          "type": "string"
        },
        "grantType": {
          "description": "Optional.",
          "type": "string"
        },
        "options": {
          "description": "Optional.",
          "type": "string"
        },
        "requestedTokenType": {
          "description": "Optional.",
          "type": "string"
        },
        "subjectToken": {
          "description": "Required.",
          "type": "string"
        },
        "audience": {
          "description": "Optional.",
          "type": "string"
        },
        "subjectTokenType": {
          "description": "Required.",
          "type": "string"
        },
        "nodePoolId": {
          "description": "Optional.",
          "type": "string"
        },
        "scope": {
          "description": "Optional.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1GenerateAzureClusterAgentTokenRequest",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AzureNodePoolError": {
      "properties": {
        "message": {
          "description": "Human-friendly description of the error.",
          "type": "string"
        }
      },
      "description": "AzureNodePoolError describes errors found on Azure node pools.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AzureNodePoolError"
    },
    "GoogleCloudGkemulticloudV1LoggingComponentConfig": {
      "properties": {
        "enableComponents": {
          "description": "The components to be enabled.",
          "type": "array",
          "items": {
            "enumDescriptions": [
              "No component is specified",
              "This indicates that system logging components is enabled.",
              "This indicates that user workload logging component is enabled."
            ],
            "enum": [
              "COMPONENT_UNSPECIFIED",
              "SYSTEM_COMPONENTS",
              "WORKLOADS"
            ],
            "type": "string"
          }
        }
      },
      "description": "Parameters that describe the Logging component configuration in a cluster.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1LoggingComponentConfig"
    },
    "GoogleCloudGkemulticloudV1AttachedClusterGroup": {
      "properties": {
        "group": {
          "description": "Required. The name of the group, e.g. `my-group@domain.com`.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AttachedClusterGroup",
      "description": "Identities of a group-type subject for Attached clusters.",
      "type": "object"
    },
    "GoogleCloudGkemulticloudV1AzureControlPlane": {
      "deprecated": true,
      "description": "AzureControlPlane represents the control plane configurations.",
      "type": "object",
      "properties": {
        "subnetId": {
          "description": "Optional. The ARM ID of the default subnet for the control plane. The control plane VMs are deployed in this subnet, unless `AzureControlPlane.replica_placements` is specified. This subnet will also be used as default for `AzureControlPlane.endpoint_subnet_id` if `AzureControlPlane.endpoint_subnet_id` is not specified. Similarly it will be used as default for `AzureClusterNetworking.service_load_balancer_subnet_id`. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`.",
          "type": "string"
        },
        "vmSize": {
          "description": "Optional. The Azure VM size name. Example: `Standard_DS2_v2`. For available VM sizes, see https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions. When unspecified, it defaults to `Standard_DS2_v2`.",
          "type": "string"
        },
        "databaseEncryption": {
          "$ref": "GoogleCloudGkemulticloudV1AzureDatabaseEncryption",
          "description": "Optional. Configuration related to application-layer secrets encryption."
        },
        "mainVolume": {
          "description": "Optional. Configuration related to the main volume provisioned for each control plane replica. The main volume is in charge of storing all of the cluster's etcd state. When unspecified, it defaults to a 8-GiB Azure Disk.",
          "$ref": "GoogleCloudGkemulticloudV1AzureDiskTemplate"
        },
        "version": {
          "description": "Required. The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAzureServerConfig.",
          "type": "string"
        },
        "proxyConfig": {
          "$ref": "GoogleCloudGkemulticloudV1AzureProxyConfig",
          "description": "Optional. Proxy configuration for outbound HTTP(S) traffic."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. A set of tags to apply to all underlying control plane Azure resources.",
          "type": "object"
        },
        "rootVolume": {
          "description": "Optional. Configuration related to the root volume provisioned for each control plane replica. When unspecified, it defaults to 32-GiB Azure Disk.",
          "$ref": "GoogleCloudGkemulticloudV1AzureDiskTemplate"
        },
        "configEncryption": {
          "description": "Optional. Configuration related to vm config encryption.",
          "$ref": "GoogleCloudGkemulticloudV1AzureConfigEncryption"
        },
        "replicaPlacements": {
          "description": "Optional. Configuration for where to place the control plane replicas. Up to three replica placement instances can be specified. If replica_placements is set, the replica placement instances will be applied to the three control plane replicas as evenly as possible.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGkemulticloudV1ReplicaPlacement"
          }
        },
        "sshConfig": {
          "description": "Required. SSH configuration for how to access the underlying control plane machines.",
          "$ref": "GoogleCloudGkemulticloudV1AzureSshConfig"
        },
        "endpointSubnetId": {
          "description": "Optional. The ARM ID of the subnet where the control plane load balancer is deployed. When unspecified, it defaults to AzureControlPlane.subnet_id. Example: \"/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123\"",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AzureControlPlane"
    },
    "GoogleCloudGkemulticloudV1AzureNodePoolAutoscaling": {
      "properties": {
        "minNodeCount": {
          "description": "Required. Minimum number of nodes in the node pool. Must be greater than or equal to 1 and less than or equal to max_node_count.",
          "type": "integer",
          "format": "int32"
        },
        "maxNodeCount": {
          "format": "int32",
          "description": "Required. Maximum number of nodes in the node pool. Must be greater than or equal to min_node_count and less than or equal to 50.",
          "type": "integer"
        }
      },
      "description": "Configuration related to Kubernetes cluster autoscaler. The Kubernetes cluster autoscaler will automatically adjust the size of the node pool based on the cluster load.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGkemulticloudV1AzureNodePoolAutoscaling"
    },
    "GoogleCloudGkemulticloudV1AwsClusterError": {
      "id": "GoogleCloudGkemulticloudV1AwsClusterError",
      "description": "AwsClusterError describes errors found on AWS clusters.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "message": {
          "description": "Human-friendly description of the error.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGkemulticloudV1SurgeSettings": {
      "id": "GoogleCloudGkemulticloudV1SurgeSettings",
      "deprecated": true,
      "description": "SurgeSettings contains the parameters for Surge update.",
      "type": "object",
      "properties": {
        "maxSurge": {
          "description": "Optional. The maximum number of nodes that can be created beyond the current size of the node pool during the update process.",
          "type": "integer",
          "format": "int32"
        },
        "maxUnavailable": {
          "description": "Optional. The maximum number of nodes that can be simultaneously unavailable during the update process. A node is considered unavailable if its status is not Ready.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleCloudGkemulticloudV1KubernetesSecret": {
      "properties": {
        "namespace": {
          "description": "Namespace in which the kubernetes secret is stored.",
          "type": "string"
        },
        "name": {
          "description": "Name of the kubernetes secret.",
          "type": "string"
        }
      },
      "description": "Information about a Kubernetes Secret",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1KubernetesSecret"
    },
    "GoogleCloudGkemulticloudV1OperationMetadata": {
      "description": "Metadata about a long-running operation.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1OperationMetadata",
      "properties": {
        "verb": {
          "description": "Output only. The verb associated with the API method which triggered this operation. Possible values are \"create\", \"delete\", \"update\" and \"import\".",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which this operation was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "statusDetail": {
          "description": "Output only. Human-readable status of the operation, if any.",
          "readOnly": true,
          "type": "string"
        },
        "requestedCancellation": {
          "description": "Output only. Identifies whether cancellation has been requested for the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "readOnly": true,
          "type": "boolean"
        },
        "target": {
          "description": "Output only. The name of the resource associated to this operation.",
          "readOnly": true,
          "type": "string"
        },
        "errorDetail": {
          "description": "Output only. Human-readable status of any error that occurred during the operation.",
          "readOnly": true,
          "type": "string"
        },
        "endTime": {
          "description": "Output only. The time at which this operation was completed.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AwsOpenIdConfig": {
      "description": "AwsOpenIdConfig is an OIDC discovery document for the cluster. See the OpenID Connect Discovery 1.0 specification for details.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "response_types_supported": {
          "items": {
            "type": "string"
          },
          "description": "Supported response types.",
          "type": "array"
        },
        "grant_types": {
          "items": {
            "type": "string"
          },
          "description": "Supported grant types.",
          "type": "array"
        },
        "subject_types_supported": {
          "description": "Supported subject types.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "issuer": {
          "description": "OIDC Issuer.",
          "type": "string"
        },
        "id_token_signing_alg_values_supported": {
          "description": "supported ID Token signing Algorithms.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "claims_supported": {
          "items": {
            "type": "string"
          },
          "description": "Supported claims.",
          "type": "array"
        },
        "jwks_uri": {
          "description": "JSON Web Key uri.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGkemulticloudV1AwsOpenIdConfig"
    },
    "GoogleCloudGkemulticloudV1AwsClusterNetworking": {
      "id": "GoogleCloudGkemulticloudV1AwsClusterNetworking",
      "properties": {
        "vpcId": {
          "description": "Required. The VPC associated with the cluster. All component clusters (i.e. control plane and node pools) run on a single VPC. This field cannot be changed after creation.",
          "type": "string"
        },
        "podAddressCidrBlocks": {
          "items": {
            "type": "string"
          },
          "description": "Required. All pods in the cluster are assigned an IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.",
          "type": "array"
        },
        "serviceAddressCidrBlocks": {
          "items": {
            "type": "string"
          },
          "description": "Required. All services in the cluster are assigned an IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.",
          "type": "array"
        },
        "perNodePoolSgRulesDisabled": {
          "description": "Optional. Disable the per node pool subnet security group rules on the control plane security group. When set to true, you must also provide one or more security groups that ensure node pools are able to send requests to the control plane on TCP/443 and TCP/8132. Failure to do so may result in unavailable node pools.",
          "type": "boolean"
        }
      },
      "description": "ClusterNetworking defines cluster-wide networking configuration. Anthos clusters on AWS run on a single VPC. This includes control plane replicas and node pool nodes.",
      "type": "object",
      "deprecated": true
    },
    "GoogleCloudGkemulticloudV1AzureNodeManagement": {
      "id": "GoogleCloudGkemulticloudV1AzureNodeManagement",
      "description": "AzureNodeManagement defines the set of node management features turned on for an Azure node pool.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "autoRepair": {
          "description": "Optional. Whether or not the nodes will be automatically repaired. When set to true, the nodes in this node pool will be monitored and if they fail health checks consistently over a period of time, an automatic repair action will be triggered to replace them with new nodes.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudGkemulticloudV1AttachedOidcConfig": {
      "description": "OIDC discovery information of the target cluster. Kubernetes Service Account (KSA) tokens are JWT tokens signed by the cluster API server. This fields indicates how Google Cloud Platform services validate KSA tokens in order to allow system workloads (such as GKE Connect and telemetry agents) to authenticate back to Google Cloud Platform. Both clusters with public and private issuer URLs are supported. Clusters with public issuers only need to specify the `issuer_url` field while clusters with private issuers need to provide both `issuer_url` and `oidc_jwks`.",
      "type": "object",
      "id": "GoogleCloudGkemulticloudV1AttachedOidcConfig",
      "properties": {
        "issuerUrl": {
          "description": "A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://`.",
          "type": "string"
        },
        "jwks": {
          "format": "byte",
          "description": "Optional. OIDC verification keys in JWKS format (RFC 7517). It contains a list of OIDC verification keys that can be used to verify OIDC JWTs. This field is required for cluster that doesn't have a publicly available discovery endpoint. When provided, it will be directly used to verify the OIDC JWT asserted by the IDP.",
          "type": "string"
        }
      }
    }
  },
  "parameters": {
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "location": "query",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "description": "V1 error format.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "default": "true"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    }
  },
  "name": "gkemulticloud",
  "id": "gkemulticloud:v1",
  "version_module": true,
  "description": " GKE Multi-Cloud provides a way to manage Kubernetes clusters that run on AWS and Azure infrastructure using the GKE Multi-Cloud API. Combined with Connect, you can manage Kubernetes clusters on Google Cloud, AWS, and Azure from the Google Cloud Console. When you create a cluster with GKE Multi-Cloud, Google creates the resources needed and brings up a cluster on your behalf. You can deploy workloads with the GKE Multi-Cloud API or the gcloud and kubectl command-line tools.",
  "ownerDomain": "google.com",
  "basePath": "",
  "rootUrl": "https://gkemulticloud.googleapis.com/",
  "ownerName": "Google",
  "title": "GKE Multi-Cloud API"
}
