@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Kubernetes Engine API
@base https://container.googleapis.com/
@version v1
@auth OAuth2 | OAuth2
@endpoints 60
@hint download_for_search
@toc projects(30), {name}(4), {name}:cancel(1), {name}:completeIpRotation(1), {name}:completeUpgrade(1), {name}:rollback(1), {name}:setAddons(1), {name}:setAutoscaling(1), {name}:setLegacyAbac(1), {name}:setLocations(1), {name}:setLogging(1), {name}:setMaintenancePolicy(1), {name}:setManagement(1), {name}:setMasterAuth(1), {name}:setMonitoring(1), {name}:setNetworkPolicy(1), {name}:setResourceLabels(1), {name}:setSize(1), {name}:startIpRotation(1), {name}:updateMaster(1), {parent}(8)

@group projects
@endpoint GET /v1/projects/{projectId}/zones/{zone}/clusters
@required {projectId: str, zone: str}
@optional {parent: str}
@returns(200) {clusters: [map], missingZones: [str]}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters
@required {projectId: str, zone: str}
@optional {cluster: map{addonsConfig: map, authenticatorGroupsConfig: map, autopilot: map, autoscaling: map, binaryAuthorization: map, clusterIpv4Cidr: str, conditions: [map], confidentialNodes: map, costManagementConfig: map, createTime: str, currentMasterVersion: str, currentNodeCount: int(int32), currentNodeVersion: str, databaseEncryption: map, defaultMaxPodsConstraint: map, description: str, enableKubernetesAlpha: bool, enableTpu: bool, endpoint: str, etag: str, expireTime: str, fleet: map, id: str, identityServiceConfig: map, initialClusterVersion: str, initialNodeCount: int(int32), instanceGroupUrls: [str], ipAllocationPolicy: map, labelFingerprint: str, legacyAbac: map, location: str, locations: [str], loggingConfig: map, loggingService: str, maintenancePolicy: map, masterAuth: map, masterAuthorizedNetworksConfig: map, meshCertificates: map, monitoringConfig: map, monitoringService: str, name: str, network: str, networkConfig: map, networkPolicy: map, nodeConfig: map, nodeIpv4CidrSize: int(int32), nodePoolAutoConfig: map, nodePoolDefaults: map, nodePools: [map], notificationConfig: map, privateClusterConfig: map, releaseChannel: map, resourceLabels: map, resourceUsageExportConfig: map, selfLink: str, servicesIpv4Cidr: str, shieldedNodes: map, status: str, statusMessage: str, subnetwork: str, tpuIpv4CidrBlock: str, verticalPodAutoscaling: map, workloadIdentityConfig: map, zone: str}, parent: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint DELETE /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}
@required {projectId: str, zone: str, clusterId: str}
@optional {name: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}
@required {projectId: str, zone: str, clusterId: str}
@optional {name: str}
@returns(200) {addonsConfig: map{cloudRunConfig: map{disabled: bool, loadBalancerType: str}, configConnectorConfig: map{enabled: bool}, dnsCacheConfig: map{enabled: bool}, gcePersistentDiskCsiDriverConfig: map{enabled: bool}, gcpFilestoreCsiDriverConfig: map{enabled: bool}, gkeBackupAgentConfig: map{enabled: bool}, horizontalPodAutoscaling: map{disabled: bool}, httpLoadBalancing: map{disabled: bool}, kubernetesDashboard: map{disabled: bool}, networkPolicyConfig: map{disabled: bool}}, authenticatorGroupsConfig: map{enabled: bool, securityGroup: str}, autopilot: map{enabled: bool}, autoscaling: map{autoprovisioningLocations: [str], autoprovisioningNodePoolDefaults: map{bootDiskKmsKey: str, diskSizeGb: int(int32), diskType: str, imageType: str, management: map{autoRepair: bool, autoUpgrade: bool, upgradeOptions: map}, minCpuPlatform: str, oauthScopes: [str], serviceAccount: str, shieldedInstanceConfig: map{enableIntegrityMonitoring: bool, enableSecureBoot: bool}, upgradeSettings: map{blueGreenSettings: map, maxSurge: int(int32), maxUnavailable: int(int32), strategy: str}}, autoscalingProfile: str, enableNodeAutoprovisioning: bool, resourceLimits: [map]}, binaryAuthorization: map{enabled: bool, evaluationMode: str}, clusterIpv4Cidr: str, conditions: [map], confidentialNodes: map{enabled: bool}, costManagementConfig: map{enabled: bool}, createTime: str, currentMasterVersion: str, currentNodeCount: int(int32), currentNodeVersion: str, databaseEncryption: map{keyName: str, state: str}, defaultMaxPodsConstraint: map{maxPodsPerNode: str(int64)}, description: str, enableKubernetesAlpha: bool, enableTpu: bool, endpoint: str, etag: str, expireTime: str, fleet: map{membership: str, preRegistered: bool, project: str}, id: str, identityServiceConfig: map{enabled: bool}, initialClusterVersion: str, initialNodeCount: int(int32), instanceGroupUrls: [str], ipAllocationPolicy: map{additionalPodRangesConfig: map{podRangeNames: [str]}, clusterIpv4Cidr: str, clusterIpv4CidrBlock: str, clusterSecondaryRangeName: str, createSubnetwork: bool, ipv6AccessType: str, nodeIpv4Cidr: str, nodeIpv4CidrBlock: str, podCidrOverprovisionConfig: map{disable: bool}, servicesIpv4Cidr: str, servicesIpv4CidrBlock: str, servicesIpv6CidrBlock: str, servicesSecondaryRangeName: str, stackType: str, subnetIpv6CidrBlock: str, subnetworkName: str, tpuIpv4CidrBlock: str, useIpAliases: bool, useRoutes: bool}, labelFingerprint: str, legacyAbac: map{enabled: bool}, location: str, locations: [str], loggingConfig: map{componentConfig: map{enableComponents: [str]}}, loggingService: str, maintenancePolicy: map{resourceVersion: str, window: map{dailyMaintenanceWindow: map{duration: str, startTime: str}, maintenanceExclusions: map, recurringWindow: map{recurrence: str, window: map}}}, masterAuth: map{clientCertificate: str, clientCertificateConfig: map{issueClientCertificate: bool}, clientKey: str, clusterCaCertificate: str, password: str, username: str}, masterAuthorizedNetworksConfig: map{cidrBlocks: [map], enabled: bool, gcpPublicCidrsAccessEnabled: bool}, meshCertificates: map{enableCertificates: bool}, monitoringConfig: map{componentConfig: map{enableComponents: [str]}, managedPrometheusConfig: map{enabled: bool}}, monitoringService: str, name: str, network: str, networkConfig: map{datapathProvider: str, defaultSnatStatus: map{disabled: bool}, dnsConfig: map{clusterDns: str, clusterDnsDomain: str, clusterDnsScope: str}, enableIntraNodeVisibility: bool, enableL4ilbSubsetting: bool, gatewayApiConfig: map{channel: str}, network: str, privateIpv6GoogleAccess: str, serviceExternalIpsConfig: map{enabled: bool}, subnetwork: str}, networkPolicy: map{enabled: bool, provider: str}, nodeConfig: map{accelerators: [map], advancedMachineFeatures: map{threadsPerCore: str(int64)}, bootDiskKmsKey: str, confidentialNodes: map{enabled: bool}, diskSizeGb: int(int32), diskType: str, ephemeralStorageLocalSsdConfig: map{localSsdCount: int(int32)}, fastSocket: map{enabled: bool}, gcfsConfig: map{enabled: bool}, gvnic: map{enabled: bool}, imageType: str, kubeletConfig: map{cpuCfsQuota: bool, cpuCfsQuotaPeriod: str, cpuManagerPolicy: str, podPidsLimit: str(int64)}, labels: map, linuxNodeConfig: map{cgroupMode: str, sysctls: map}, localNvmeSsdBlockConfig: map{localSsdCount: int(int32)}, localSsdCount: int(int32), loggingConfig: map{variantConfig: map{variant: str}}, machineType: str, metadata: map, minCpuPlatform: str, nodeGroup: str, oauthScopes: [str], preemptible: bool, reservationAffinity: map{consumeReservationType: str, key: str, values: [str]}, resourceLabels: map, sandboxConfig: map{type: str}, serviceAccount: str, shieldedInstanceConfig: map{enableIntegrityMonitoring: bool, enableSecureBoot: bool}, spot: bool, tags: [str], taints: [map], windowsNodeConfig: map{osVersion: str}, workloadMetadataConfig: map{mode: str}}, nodeIpv4CidrSize: int(int32), nodePoolAutoConfig: map{networkTags: map{tags: [str]}}, nodePoolDefaults: map{nodeConfigDefaults: map{gcfsConfig: map{enabled: bool}, loggingConfig: map{variantConfig: map}}}, nodePools: [map], notificationConfig: map{pubsub: map{enabled: bool, filter: map{eventType: [str]}, topic: str}}, privateClusterConfig: map{enablePrivateEndpoint: bool, enablePrivateNodes: bool, masterGlobalAccessConfig: map{enabled: bool}, masterIpv4CidrBlock: str, peeringName: str, privateEndpoint: str, privateEndpointSubnetwork: str, publicEndpoint: str}, releaseChannel: map{channel: str}, resourceLabels: map, resourceUsageExportConfig: map{bigqueryDestination: map{datasetId: str}, consumptionMeteringConfig: map{enabled: bool}, enableNetworkEgressMetering: bool}, selfLink: str, servicesIpv4Cidr: str, shieldedNodes: map{enabled: bool}, status: str, statusMessage: str, subnetwork: str, tpuIpv4CidrBlock: str, verticalPodAutoscaling: map{enabled: bool}, workloadIdentityConfig: map{workloadPool: str}, zone: str}

@endpoint PUT /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, name: str, projectId: str, update: map{additionalPodRangesConfig: map, desiredAddonsConfig: map, desiredAuthenticatorGroupsConfig: map, desiredBinaryAuthorization: map, desiredClusterAutoscaling: map, desiredCostManagementConfig: map, desiredDatabaseEncryption: map, desiredDatapathProvider: str, desiredDefaultSnatStatus: map, desiredDnsConfig: map, desiredEnablePrivateEndpoint: bool, desiredGatewayApiConfig: map, desiredGcfsConfig: map, desiredIdentityServiceConfig: map, desiredImageType: str, desiredIntraNodeVisibilityConfig: map, desiredL4ilbSubsettingConfig: map, desiredLocations: [str], desiredLoggingConfig: map, desiredLoggingService: str, desiredMasterAuthorizedNetworksConfig: map, desiredMasterVersion: str, desiredMeshCertificates: map, desiredMonitoringConfig: map, desiredMonitoringService: str, desiredNodePoolAutoConfigNetworkTags: map, desiredNodePoolAutoscaling: map, desiredNodePoolId: str, desiredNodePoolLoggingConfig: map, desiredNodeVersion: str, desiredNotificationConfig: map, desiredPrivateClusterConfig: map, desiredPrivateIpv6GoogleAccess: str, desiredReleaseChannel: map, desiredResourceUsageExportConfig: map, desiredServiceExternalIpsConfig: map, desiredShieldedNodes: map, desiredStackType: str, desiredVerticalPodAutoscaling: map, desiredWorkloadIdentityConfig: map, etag: str, removedAdditionalPodRangesConfig: map}, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons
@required {projectId: str, zone: str, clusterId: str}
@optional {addonsConfig: map{cloudRunConfig: map, configConnectorConfig: map, dnsCacheConfig: map, gcePersistentDiskCsiDriverConfig: map, gcpFilestoreCsiDriverConfig: map, gkeBackupAgentConfig: map, horizontalPodAutoscaling: map, httpLoadBalancing: map, kubernetesDashboard: map, networkPolicyConfig: map}, clusterId: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, enabled: bool, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, locations: [str], name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, loggingService: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, masterVersion: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, monitoringService: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools
@required {projectId: str, zone: str, clusterId: str}
@optional {parent: str}
@returns(200) {nodePools: [map]}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, nodePool: map{autoscaling: map, conditions: [map], config: map, etag: str, initialNodeCount: int(int32), instanceGroupUrls: [str], locations: [str], management: map, maxPodsConstraint: map, name: str, networkConfig: map, placementPolicy: map, podIpv4CidrSize: int(int32), selfLink: str, status: str, statusMessage: str, updateInfo: map, upgradeSettings: map, version: str}, parent: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint DELETE /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {name: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {name: str}
@returns(200) {autoscaling: map{autoprovisioned: bool, enabled: bool, locationPolicy: str, maxNodeCount: int(int32), minNodeCount: int(int32), totalMaxNodeCount: int(int32), totalMinNodeCount: int(int32)}, conditions: [map], config: map{accelerators: [map], advancedMachineFeatures: map{threadsPerCore: str(int64)}, bootDiskKmsKey: str, confidentialNodes: map{enabled: bool}, diskSizeGb: int(int32), diskType: str, ephemeralStorageLocalSsdConfig: map{localSsdCount: int(int32)}, fastSocket: map{enabled: bool}, gcfsConfig: map{enabled: bool}, gvnic: map{enabled: bool}, imageType: str, kubeletConfig: map{cpuCfsQuota: bool, cpuCfsQuotaPeriod: str, cpuManagerPolicy: str, podPidsLimit: str(int64)}, labels: map, linuxNodeConfig: map{cgroupMode: str, sysctls: map}, localNvmeSsdBlockConfig: map{localSsdCount: int(int32)}, localSsdCount: int(int32), loggingConfig: map{variantConfig: map{variant: str}}, machineType: str, metadata: map, minCpuPlatform: str, nodeGroup: str, oauthScopes: [str], preemptible: bool, reservationAffinity: map{consumeReservationType: str, key: str, values: [str]}, resourceLabels: map, sandboxConfig: map{type: str}, serviceAccount: str, shieldedInstanceConfig: map{enableIntegrityMonitoring: bool, enableSecureBoot: bool}, spot: bool, tags: [str], taints: [map], windowsNodeConfig: map{osVersion: str}, workloadMetadataConfig: map{mode: str}}, etag: str, initialNodeCount: int(int32), instanceGroupUrls: [str], locations: [str], management: map{autoRepair: bool, autoUpgrade: bool, upgradeOptions: map{autoUpgradeStartTime: str, description: str}}, maxPodsConstraint: map{maxPodsPerNode: str(int64)}, name: str, networkConfig: map{createPodRange: bool, enablePrivateNodes: bool, networkPerformanceConfig: map{totalEgressBandwidthTier: str}, podCidrOverprovisionConfig: map{disable: bool}, podIpv4CidrBlock: str, podRange: str}, placementPolicy: map{type: str}, podIpv4CidrSize: int(int32), selfLink: str, status: str, statusMessage: str, updateInfo: map{blueGreenInfo: map{blueInstanceGroupUrls: [str], bluePoolDeletionStartTime: str, greenInstanceGroupUrls: [str], greenPoolVersion: str, phase: str}}, upgradeSettings: map{blueGreenSettings: map{nodePoolSoakDuration: str(google-duration), standardRolloutPolicy: map{batchNodeCount: int(int32), batchPercentage: num(float), batchSoakDuration: str(google-duration)}}, maxSurge: int(int32), maxUnavailable: int(int32), strategy: str}, version: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {autoscaling: map{autoprovisioned: bool, enabled: bool, locationPolicy: str, maxNodeCount: int(int32), minNodeCount: int(int32), totalMaxNodeCount: int(int32), totalMinNodeCount: int(int32)}, clusterId: str, name: str, nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {clusterId: str, management: map{autoRepair: bool, autoUpgrade: bool, upgradeOptions: map}, name: str, nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {clusterId: str, name: str, nodeCount: int(int32), nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {clusterId: str, confidentialNodes: map{enabled: bool}, etag: str, fastSocket: map{enabled: bool}, gcfsConfig: map{enabled: bool}, gvnic: map{enabled: bool}, imageType: str, kubeletConfig: map{cpuCfsQuota: bool, cpuCfsQuotaPeriod: str, cpuManagerPolicy: str, podPidsLimit: str(int64)}, labels: map{labels: map}, linuxNodeConfig: map{cgroupMode: str, sysctls: map}, locations: [str], loggingConfig: map{variantConfig: map}, name: str, nodeNetworkConfig: map{createPodRange: bool, enablePrivateNodes: bool, networkPerformanceConfig: map, podCidrOverprovisionConfig: map, podIpv4CidrBlock: str, podRange: str}, nodePoolId: str, nodeVersion: str, projectId: str, resourceLabels: map{labels: map}, tags: map{tags: [str]}, taints: map{taints: [map]}, upgradeSettings: map{blueGreenSettings: map, maxSurge: int(int32), maxUnavailable: int(int32), strategy: str}, windowsNodeConfig: map{osVersion: str}, workloadMetadataConfig: map{mode: str}, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback
@required {projectId: str, zone: str, clusterId: str, nodePoolId: str}
@optional {clusterId: str, name: str, nodePoolId: str, projectId: str, respectPdb: bool, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, labelFingerprint: str, name: str, projectId: str, resourceLabels: map, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, maintenancePolicy: map{resourceVersion: str, window: map}, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth
@required {projectId: str, zone: str, clusterId: str}
@optional {action: str(UNKNOWN/SET_PASSWORD/GENERATE_PASSWORD/SET_USERNAME), clusterId: str, name: str, projectId: str, update: map{clientCertificate: str, clientCertificateConfig: map, clientKey: str, clusterCaCertificate: str, password: str, username: str}, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, name: str, networkPolicy: map{enabled: bool, provider: str}, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation
@required {projectId: str, zone: str, clusterId: str}
@optional {clusterId: str, name: str, projectId: str, rotateCredentials: bool, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/projects/{projectId}/zones/{zone}/operations
@required {projectId: str, zone: str}
@optional {parent: str}
@returns(200) {missingZones: [str], operations: [map]}

@endpoint GET /v1/projects/{projectId}/zones/{zone}/operations/{operationId}
@required {projectId: str, zone: str, operationId: str}
@optional {name: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint POST /v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel
@required {projectId: str, zone: str, operationId: str}
@optional {name: str, operationId: str, projectId: str, zone: str}
@returns(200)

@endpoint GET /v1/projects/{projectId}/zones/{zone}/serverconfig
@required {projectId: str, zone: str}
@optional {name: str}
@returns(200) {channels: [map], defaultClusterVersion: str, defaultImageType: str, validImageTypes: [str], validMasterVersions: [str], validNodeVersions: [str]}

@endgroup

@group {name}
@endpoint DELETE /v1/{name}
@required {name: str}
@optional {clusterId: str, nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/{name}
@required {name: str}
@optional {operationId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint PUT /v1/{name}
@required {name: str}
@optional {clusterId: str, confidentialNodes: map{enabled: bool}, etag: str, fastSocket: map{enabled: bool}, gcfsConfig: map{enabled: bool}, gvnic: map{enabled: bool}, imageType: str, kubeletConfig: map{cpuCfsQuota: bool, cpuCfsQuotaPeriod: str, cpuManagerPolicy: str, podPidsLimit: str(int64)}, labels: map{labels: map}, linuxNodeConfig: map{cgroupMode: str, sysctls: map}, locations: [str], loggingConfig: map{variantConfig: map}, name: str, nodeNetworkConfig: map{createPodRange: bool, enablePrivateNodes: bool, networkPerformanceConfig: map, podCidrOverprovisionConfig: map, podIpv4CidrBlock: str, podRange: str}, nodePoolId: str, nodeVersion: str, projectId: str, resourceLabels: map{labels: map}, tags: map{tags: [str]}, taints: map{taints: [map]}, upgradeSettings: map{blueGreenSettings: map, maxSurge: int(int32), maxUnavailable: int(int32), strategy: str}, windowsNodeConfig: map{osVersion: str}, workloadMetadataConfig: map{mode: str}, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/{name}/serverConfig
@required {name: str}
@optional {projectId: str, zone: str}
@returns(200) {channels: [map], defaultClusterVersion: str, defaultImageType: str, validImageTypes: [str], validMasterVersions: [str], validNodeVersions: [str]}

@endgroup

@group {name}:cancel
@endpoint POST /v1/{name}:cancel
@required {name: str}
@optional {name: str, operationId: str, projectId: str, zone: str}
@returns(200)

@endgroup

@group {name}:completeIpRotation
@endpoint POST /v1/{name}:completeIpRotation
@required {name: str}
@optional {clusterId: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:completeUpgrade
@endpoint POST /v1/{name}:completeUpgrade
@required {name: str}
@returns(200)

@endgroup

@group {name}:rollback
@endpoint POST /v1/{name}:rollback
@required {name: str}
@optional {clusterId: str, name: str, nodePoolId: str, projectId: str, respectPdb: bool, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setAddons
@endpoint POST /v1/{name}:setAddons
@required {name: str}
@optional {addonsConfig: map{cloudRunConfig: map, configConnectorConfig: map, dnsCacheConfig: map, gcePersistentDiskCsiDriverConfig: map, gcpFilestoreCsiDriverConfig: map, gkeBackupAgentConfig: map, horizontalPodAutoscaling: map, httpLoadBalancing: map, kubernetesDashboard: map, networkPolicyConfig: map}, clusterId: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setAutoscaling
@endpoint POST /v1/{name}:setAutoscaling
@required {name: str}
@optional {autoscaling: map{autoprovisioned: bool, enabled: bool, locationPolicy: str, maxNodeCount: int(int32), minNodeCount: int(int32), totalMaxNodeCount: int(int32), totalMinNodeCount: int(int32)}, clusterId: str, name: str, nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setLegacyAbac
@endpoint POST /v1/{name}:setLegacyAbac
@required {name: str}
@optional {clusterId: str, enabled: bool, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setLocations
@endpoint POST /v1/{name}:setLocations
@required {name: str}
@optional {clusterId: str, locations: [str], name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setLogging
@endpoint POST /v1/{name}:setLogging
@required {name: str}
@optional {clusterId: str, loggingService: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setMaintenancePolicy
@endpoint POST /v1/{name}:setMaintenancePolicy
@required {name: str}
@optional {clusterId: str, maintenancePolicy: map{resourceVersion: str, window: map}, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setManagement
@endpoint POST /v1/{name}:setManagement
@required {name: str}
@optional {clusterId: str, management: map{autoRepair: bool, autoUpgrade: bool, upgradeOptions: map}, name: str, nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setMasterAuth
@endpoint POST /v1/{name}:setMasterAuth
@required {name: str}
@optional {action: str(UNKNOWN/SET_PASSWORD/GENERATE_PASSWORD/SET_USERNAME), clusterId: str, name: str, projectId: str, update: map{clientCertificate: str, clientCertificateConfig: map, clientKey: str, clusterCaCertificate: str, password: str, username: str}, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setMonitoring
@endpoint POST /v1/{name}:setMonitoring
@required {name: str}
@optional {clusterId: str, monitoringService: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setNetworkPolicy
@endpoint POST /v1/{name}:setNetworkPolicy
@required {name: str}
@optional {clusterId: str, name: str, networkPolicy: map{enabled: bool, provider: str}, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setResourceLabels
@endpoint POST /v1/{name}:setResourceLabels
@required {name: str}
@optional {clusterId: str, labelFingerprint: str, name: str, projectId: str, resourceLabels: map, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:setSize
@endpoint POST /v1/{name}:setSize
@required {name: str}
@optional {clusterId: str, name: str, nodeCount: int(int32), nodePoolId: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:startIpRotation
@endpoint POST /v1/{name}:startIpRotation
@required {name: str}
@optional {clusterId: str, name: str, projectId: str, rotateCredentials: bool, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {name}:updateMaster
@endpoint POST /v1/{name}:updateMaster
@required {name: str}
@optional {clusterId: str, masterVersion: str, name: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endgroup

@group {parent}
@endpoint GET /v1/{parent}/.well-known/openid-configuration
@required {parent: str}
@returns(200) {cacheHeader: map{age: str(int64), directive: str, expires: str}, claims_supported: [str], grant_types: [str], id_token_signing_alg_values_supported: [str], issuer: str, jwks_uri: str, response_types_supported: [str], subject_types_supported: [str]}

@endpoint GET /v1/{parent}/aggregated/usableSubnetworks
@required {parent: str}
@optional {filter: str, pageSize: int, pageToken: str}
@returns(200) {nextPageToken: str, subnetworks: [map]}

@endpoint GET /v1/{parent}/clusters
@required {parent: str}
@optional {projectId: str, zone: str}
@returns(200) {clusters: [map], missingZones: [str]}

@endpoint POST /v1/{parent}/clusters
@required {parent: str}
@optional {cluster: map{addonsConfig: map, authenticatorGroupsConfig: map, autopilot: map, autoscaling: map, binaryAuthorization: map, clusterIpv4Cidr: str, conditions: [map], confidentialNodes: map, costManagementConfig: map, createTime: str, currentMasterVersion: str, currentNodeCount: int(int32), currentNodeVersion: str, databaseEncryption: map, defaultMaxPodsConstraint: map, description: str, enableKubernetesAlpha: bool, enableTpu: bool, endpoint: str, etag: str, expireTime: str, fleet: map, id: str, identityServiceConfig: map, initialClusterVersion: str, initialNodeCount: int(int32), instanceGroupUrls: [str], ipAllocationPolicy: map, labelFingerprint: str, legacyAbac: map, location: str, locations: [str], loggingConfig: map, loggingService: str, maintenancePolicy: map, masterAuth: map, masterAuthorizedNetworksConfig: map, meshCertificates: map, monitoringConfig: map, monitoringService: str, name: str, network: str, networkConfig: map, networkPolicy: map, nodeConfig: map, nodeIpv4CidrSize: int(int32), nodePoolAutoConfig: map, nodePoolDefaults: map, nodePools: [map], notificationConfig: map, privateClusterConfig: map, releaseChannel: map, resourceLabels: map, resourceUsageExportConfig: map, selfLink: str, servicesIpv4Cidr: str, shieldedNodes: map, status: str, statusMessage: str, subnetwork: str, tpuIpv4CidrBlock: str, verticalPodAutoscaling: map, workloadIdentityConfig: map, zone: str}, parent: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/{parent}/jwks
@required {parent: str}
@returns(200) {cacheHeader: map{age: str(int64), directive: str, expires: str}, keys: [map]}

@endpoint GET /v1/{parent}/nodePools
@required {parent: str}
@optional {clusterId: str, projectId: str, zone: str}
@returns(200) {nodePools: [map]}

@endpoint POST /v1/{parent}/nodePools
@required {parent: str}
@optional {clusterId: str, nodePool: map{autoscaling: map, conditions: [map], config: map, etag: str, initialNodeCount: int(int32), instanceGroupUrls: [str], locations: [str], management: map, maxPodsConstraint: map, name: str, networkConfig: map, placementPolicy: map, podIpv4CidrSize: int(int32), selfLink: str, status: str, statusMessage: str, updateInfo: map, upgradeSettings: map, version: str}, parent: str, projectId: str, zone: str}
@returns(200) {clusterConditions: [map], detail: str, endTime: str, error: map{code: int(int32), details: [map], message: str}, location: str, name: str, nodepoolConditions: [map], operationType: str, progress: map{metrics: [map], name: str, stages: [map], status: str}, selfLink: str, startTime: str, status: str, statusMessage: str, targetLink: str, zone: str}

@endpoint GET /v1/{parent}/operations
@required {parent: str}
@optional {projectId: str, zone: str}
@returns(200) {missingZones: [str], operations: [map]}

@endgroup

@end
