Package-level declarations

Types

Link copied to clipboard
data class AcceleratorConfigResponse(val acceleratorCount: String, val acceleratorType: String, val gpuPartitionSize: String, val gpuSharingConfig: GPUSharingConfigResponse, val maxTimeSharedClientsPerGpu: String)

AcceleratorConfig represents a Hardware Accelerator request.

Link copied to clipboard
data class AdditionalPodRangesConfigResponse(val podRangeNames: List<String>)

AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.

Link copied to clipboard
data class AddonsConfigResponse(val cloudRunConfig: CloudRunConfigResponse, val configConnectorConfig: ConfigConnectorConfigResponse, val dnsCacheConfig: DnsCacheConfigResponse, val gcePersistentDiskCsiDriverConfig: GcePersistentDiskCsiDriverConfigResponse, val gcpFilestoreCsiDriverConfig: GcpFilestoreCsiDriverConfigResponse, val gcsFuseCsiDriverConfig: GcsFuseCsiDriverConfigResponse, val gkeBackupAgentConfig: GkeBackupAgentConfigResponse, val horizontalPodAutoscaling: HorizontalPodAutoscalingResponse, val httpLoadBalancing: HttpLoadBalancingResponse, val istioConfig: IstioConfigResponse, val kalmConfig: KalmConfigResponse, val kubernetesDashboard: KubernetesDashboardResponse, val networkPolicyConfig: NetworkPolicyConfigResponse)

Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.

Link copied to clipboard
data class AdvancedMachineFeaturesResponse(val threadsPerCore: String)

Specifies options for controlling advanced machine features.

Link copied to clipboard
data class AuthenticatorGroupsConfigResponse(val enabled: Boolean, val securityGroup: String)

Configuration for returning group information from authenticators.

Link copied to clipboard
data class AutopilotResponse(val enabled: Boolean)

Autopilot is the configuration for Autopilot settings on the cluster.

Link copied to clipboard
data class AutoprovisioningNodePoolDefaultsResponse(val bootDiskKmsKey: String, val diskSizeGb: Int, val diskType: String, val imageType: String, val management: NodeManagementResponse, val minCpuPlatform: String, val oauthScopes: List<String>, val serviceAccount: String, val shieldedInstanceConfig: ShieldedInstanceConfigResponse, val upgradeSettings: UpgradeSettingsResponse)

AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.

Link copied to clipboard
data class AutoUpgradeOptionsResponse(val autoUpgradeStartTime: String, val description: String)

AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.

Link copied to clipboard
data class AvailableVersionResponse(val reason: String, val version: String)

Deprecated.

Link copied to clipboard
data class BigQueryDestinationResponse(val datasetId: String)

Parameters for using BigQuery as the destination of resource usage export.

Link copied to clipboard
data class BinaryAuthorizationResponse(val enabled: Boolean, val evaluationMode: String)

Configuration for Binary Authorization.

Link copied to clipboard
data class BlueGreenInfoResponse(val blueInstanceGroupUrls: List<String>, val bluePoolDeletionStartTime: String, val greenInstanceGroupUrls: List<String>, val greenPoolVersion: String, val phase: String)

Information relevant to blue-green upgrade.

Link copied to clipboard
data class BlueGreenSettingsResponse(val nodePoolSoakDuration: String, val standardRolloutPolicy: StandardRolloutPolicyResponse)

Settings for blue-green upgrade.

Link copied to clipboard
data class CidrBlockResponse(val cidrBlock: String, val displayName: String)

CidrBlock contains an optional name and one CIDR block.

Link copied to clipboard
data class ClientCertificateConfigResponse(val issueClientCertificate: Boolean)

Configuration for client certificates on the cluster.

Link copied to clipboard
data class CloudRunConfigResponse(val disabled: Boolean, val loadBalancerType: String)

Configuration options for the Cloud Run feature.

Link copied to clipboard
data class ClusterAutoscalingResponse(val autoprovisioningLocations: List<String>, val autoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaultsResponse, val autoscalingProfile: String, val enableNodeAutoprovisioning: Boolean, val resourceLimits: List<ResourceLimitResponse>)

ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.

Link copied to clipboard
data class ClusterTelemetryResponse(val type: String)

Telemetry integration for the cluster.

Link copied to clipboard
data class ConfidentialNodesResponse(val enabled: Boolean)

ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs.

Link copied to clipboard
data class ConfigConnectorConfigResponse(val enabled: Boolean)

Configuration options for the Config Connector add-on.

Link copied to clipboard

Parameters for controlling consumption metering.

Link copied to clipboard
data class CostManagementConfigResponse(val enabled: Boolean)

Configuration for fine-grained cost management feature.

Link copied to clipboard
data class DailyMaintenanceWindowResponse(val duration: String, val startTime: String)

Time window specified for daily maintenance operations.

Link copied to clipboard
data class DatabaseEncryptionResponse(val keyName: String, val state: String)

Configuration of etcd encryption.

Link copied to clipboard
data class DefaultSnatStatusResponse(val disabled: Boolean)

DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.

Link copied to clipboard
data class DnsCacheConfigResponse(val enabled: Boolean)

Configuration for NodeLocal DNSCache

Link copied to clipboard
data class DNSConfigResponse(val clusterDns: String, val clusterDnsDomain: String, val clusterDnsScope: String)

DNSConfig contains the desired set of options for configuring clusterDNS.

Link copied to clipboard
data class EphemeralStorageConfigResponse(val localSsdCount: Int)

EphemeralStorageConfig contains configuration for the ephemeral storage filesystem.

Link copied to clipboard
data class EphemeralStorageLocalSsdConfigResponse(val localSsdCount: Int)

EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral storage using Local SSDs.

Link copied to clipboard
data class FastSocketResponse(val enabled: Boolean)

Configuration of Fast Socket feature.

Link copied to clipboard
data class FilterResponse(val eventType: List<String>)

Allows filtering to one or more specific event types. If event types are present, those and only those event types will be transmitted to the cluster. Other types will be skipped. If no filter is specified, or no event types are present, all event types will be sent

Link copied to clipboard
data class FleetResponse(val membership: String, val preRegistered: Boolean, val project: String)

Fleet is the fleet configuration for the cluster.

Link copied to clipboard
data class GatewayAPIConfigResponse(val channel: String)

GatewayAPIConfig contains the desired config of Gateway API on this cluster.

Link copied to clipboard

Configuration for the Compute Engine PD CSI driver.

Link copied to clipboard
data class GcfsConfigResponse(val enabled: Boolean)

GcfsConfig contains configurations of Google Container File System.

Link copied to clipboard

Configuration for the GCP Filestore CSI driver.

Link copied to clipboard
data class GcsFuseCsiDriverConfigResponse(val enabled: Boolean)

Configuration for the Cloud Storage Fuse CSI driver.

Link copied to clipboard
data class GetClusterResult(val addonsConfig: AddonsConfigResponse, val authenticatorGroupsConfig: AuthenticatorGroupsConfigResponse, val autopilot: AutopilotResponse, val autoscaling: ClusterAutoscalingResponse, val binaryAuthorization: BinaryAuthorizationResponse, val clusterIpv4Cidr: String, val clusterTelemetry: ClusterTelemetryResponse, val conditions: List<StatusConditionResponse>, val confidentialNodes: ConfidentialNodesResponse, val costManagementConfig: CostManagementConfigResponse, val createTime: String, val currentMasterVersion: String, val currentNodeCount: Int, val currentNodeVersion: String, val databaseEncryption: DatabaseEncryptionResponse, val defaultMaxPodsConstraint: MaxPodsConstraintResponse, val description: String, val enableKubernetesAlpha: Boolean, val enableTpu: Boolean, val endpoint: String, val etag: String, val expireTime: String, val fleet: FleetResponse, val identityServiceConfig: IdentityServiceConfigResponse, val initialClusterVersion: String, val initialNodeCount: Int, val instanceGroupUrls: List<String>, val ipAllocationPolicy: IPAllocationPolicyResponse, val labelFingerprint: String, val legacyAbac: LegacyAbacResponse, val location: String, val locations: List<String>, val loggingConfig: LoggingConfigResponse, val loggingService: String, val maintenancePolicy: MaintenancePolicyResponse, val master: MasterResponse, val masterAuth: MasterAuthResponse, val masterAuthorizedNetworksConfig: MasterAuthorizedNetworksConfigResponse, val masterIpv4CidrBlock: String, val meshCertificates: MeshCertificatesResponse, val monitoringConfig: MonitoringConfigResponse, val monitoringService: String, val name: String, val network: String, val networkConfig: NetworkConfigResponse, val networkPolicy: NetworkPolicyResponse, val nodeConfig: NodeConfigResponse, val nodeIpv4CidrSize: Int, val nodePoolAutoConfig: NodePoolAutoConfigResponse, val nodePoolDefaults: NodePoolDefaultsResponse, val nodePools: List<NodePoolResponse>, val notificationConfig: NotificationConfigResponse, val podSecurityPolicyConfig: PodSecurityPolicyConfigResponse, val privateCluster: Boolean, val privateClusterConfig: PrivateClusterConfigResponse, val protectConfig: ProtectConfigResponse, val releaseChannel: ReleaseChannelResponse, val resourceLabels: Map<String, String>, val resourceUsageExportConfig: ResourceUsageExportConfigResponse, val selfLink: String, val servicesIpv4Cidr: String, val shieldedNodes: ShieldedNodesResponse, val status: String, val statusMessage: String, val subnetwork: String, val tpuConfig: TpuConfigResponse, val tpuIpv4CidrBlock: String, val verticalPodAutoscaling: VerticalPodAutoscalingResponse, val workloadAltsConfig: WorkloadALTSConfigResponse, val workloadCertificates: WorkloadCertificatesResponse, val workloadIdentityConfig: WorkloadIdentityConfigResponse, val zone: String)
Link copied to clipboard
data class GetNodePoolResult(val autoscaling: NodePoolAutoscalingResponse, val conditions: List<StatusConditionResponse>, val config: NodeConfigResponse, val etag: String, val initialNodeCount: Int, val instanceGroupUrls: List<String>, val locations: List<String>, val management: NodeManagementResponse, val maxPodsConstraint: MaxPodsConstraintResponse, val name: String, val networkConfig: NodeNetworkConfigResponse, val placementPolicy: PlacementPolicyResponse, val podIpv4CidrSize: Int, val selfLink: String, val status: String, val statusMessage: String, val updateInfo: UpdateInfoResponse, val upgradeSettings: UpgradeSettingsResponse, val version: String)
Link copied to clipboard
data class GetServerConfigResult(val channels: List<ReleaseChannelConfigResponse>, val defaultClusterVersion: String, val defaultImageType: String, val validImageTypes: List<String>, val validMasterVersions: List<String>, val validNodeVersions: List<String>, val windowsVersionMaps: Map<String, String>)
Link copied to clipboard
data class GkeBackupAgentConfigResponse(val enabled: Boolean)

Configuration for the Backup for GKE Agent.

Link copied to clipboard
data class GPUSharingConfigResponse(val gpuSharingStrategy: String, val maxSharedClientsPerGpu: String)

GPUSharingConfig represents the GPU sharing configuration for Hardware Accelerators.

Link copied to clipboard
data class HorizontalPodAutoscalingResponse(val disabled: Boolean)

Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.

Link copied to clipboard
data class HttpLoadBalancingResponse(val disabled: Boolean)

Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.

Link copied to clipboard
data class IdentityServiceConfigResponse(val enabled: Boolean)

IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API

Link copied to clipboard
data class IPAllocationPolicyResponse(val additionalPodRangesConfig: AdditionalPodRangesConfigResponse, val allowRouteOverlap: Boolean, val clusterIpv4Cidr: String, val clusterIpv4CidrBlock: String, val clusterSecondaryRangeName: String, val createSubnetwork: Boolean, val ipv6AccessType: String, val nodeIpv4Cidr: String, val nodeIpv4CidrBlock: String, val podCidrOverprovisionConfig: PodCIDROverprovisionConfigResponse, val servicesIpv4Cidr: String, val servicesIpv4CidrBlock: String, val servicesIpv6CidrBlock: String, val servicesSecondaryRangeName: String, val stackType: String, val subnetIpv6CidrBlock: String, val subnetworkName: String, val tpuIpv4CidrBlock: String, val useIpAliases: Boolean, val useRoutes: Boolean)

Configuration for controlling how IPs are allocated in the cluster.

Link copied to clipboard
data class IstioConfigResponse(val auth: String, val disabled: Boolean)

Configuration options for Istio addon.

Link copied to clipboard
data class KalmConfigResponse(val enabled: Boolean)

Configuration options for the KALM addon.

Link copied to clipboard
data class KubernetesDashboardResponse(val disabled: Boolean)

Configuration for the Kubernetes Dashboard.

Link copied to clipboard
data class LegacyAbacResponse(val enabled: Boolean)

Configuration for the legacy Attribute Based Access Control authorization mode.

Link copied to clipboard
data class LinuxNodeConfigResponse(val cgroupMode: String, val sysctls: Map<String, String>)

Parameters that can be configured on Linux nodes.

Link copied to clipboard
data class LocalNvmeSsdBlockConfigResponse(val localSsdCount: Int)

LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe SSDs

Link copied to clipboard
data class LoggingComponentConfigResponse(val enableComponents: List<String>)

LoggingComponentConfig is cluster logging component configuration.

Link copied to clipboard
data class LoggingConfigResponse(val componentConfig: LoggingComponentConfigResponse)

LoggingConfig is cluster logging configuration.

Link copied to clipboard
data class LoggingVariantConfigResponse(val variant: String)

LoggingVariantConfig specifies the behaviour of the logging component.

Link copied to clipboard

Represents the Maintenance exclusion option.

Link copied to clipboard
data class MaintenancePolicyResponse(val resourceVersion: String, val window: MaintenanceWindowResponse)

MaintenancePolicy defines the maintenance policy to be used for the cluster.

Link copied to clipboard
data class MaintenanceWindowResponse(val dailyMaintenanceWindow: DailyMaintenanceWindowResponse, val maintenanceExclusions: Map<String, String>, val recurringWindow: RecurringTimeWindowResponse)

MaintenanceWindow defines the maintenance window to be used for the cluster.

Link copied to clipboard
data class ManagedPrometheusConfigResponse(val enabled: Boolean)

ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.

Link copied to clipboard
data class MasterAuthorizedNetworksConfigResponse(val cidrBlocks: List<CidrBlockResponse>, val enabled: Boolean, val gcpPublicCidrsAccessEnabled: Boolean)

Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.

Link copied to clipboard
data class MasterAuthResponse(val clientCertificate: String, val clientCertificateConfig: ClientCertificateConfigResponse, val clientKey: String, val clusterCaCertificate: String, val password: String, val username: String)

The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates.

Link copied to clipboard

Master is the configuration for components on master.

Link copied to clipboard
data class MaxPodsConstraintResponse(val maxPodsPerNode: String)

Constraints applied to pods.

Link copied to clipboard
data class MeshCertificatesResponse(val enableCertificates: Boolean)

Configuration for issuance of mTLS keys and certificates to Kubernetes pods.

Link copied to clipboard
data class MonitoringComponentConfigResponse(val enableComponents: List<String>)

MonitoringComponentConfig is cluster monitoring component configuration.

Link copied to clipboard
data class MonitoringConfigResponse(val componentConfig: MonitoringComponentConfigResponse, val managedPrometheusConfig: ManagedPrometheusConfigResponse)

MonitoringConfig is cluster monitoring configuration.

Link copied to clipboard
data class NetworkConfigResponse(val datapathProvider: String, val defaultSnatStatus: DefaultSnatStatusResponse, val dnsConfig: DNSConfigResponse, val enableIntraNodeVisibility: Boolean, val enableL4ilbSubsetting: Boolean, val gatewayApiConfig: GatewayAPIConfigResponse, val network: String, val privateIpv6GoogleAccess: String, val serviceExternalIpsConfig: ServiceExternalIPsConfigResponse, val subnetwork: String)

NetworkConfig reports the relative names of network & subnetwork.

Link copied to clipboard
data class NetworkPerformanceConfigResponse(val externalIpEgressBandwidthTier: String, val totalEgressBandwidthTier: String)

Configuration of all network bandwidth tiers

Link copied to clipboard
data class NetworkPolicyConfigResponse(val disabled: Boolean)

Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes.

Link copied to clipboard
data class NetworkPolicyResponse(val enabled: Boolean, val provider: String)

Configuration options for the NetworkPolicy feature. https://kubernetes.io/docs/concepts/services-networking/networkpolicies/

Link copied to clipboard
data class NetworkTagsResponse(val tags: List<String>)

Collection of Compute Engine network tags that can be applied to a node's underlying VM instance. (See tags field in /kubernetes-engine/docs/reference/rest/v1/NodeConfig).

Link copied to clipboard
data class NodeConfigDefaultsResponse(val gcfsConfig: GcfsConfigResponse, val loggingConfig: NodePoolLoggingConfigResponse)

Subset of NodeConfig message that has defaults.

Link copied to clipboard
data class NodeConfigResponse(val accelerators: List<AcceleratorConfigResponse>, val advancedMachineFeatures: AdvancedMachineFeaturesResponse, val bootDiskKmsKey: String, val confidentialNodes: ConfidentialNodesResponse, val diskSizeGb: Int, val diskType: String, val ephemeralStorageConfig: EphemeralStorageConfigResponse, val ephemeralStorageLocalSsdConfig: EphemeralStorageLocalSsdConfigResponse, val fastSocket: FastSocketResponse, val gcfsConfig: GcfsConfigResponse, val gvnic: VirtualNICResponse, val imageType: String, val kubeletConfig: NodeKubeletConfigResponse, val labels: Map<String, String>, val linuxNodeConfig: LinuxNodeConfigResponse, val localNvmeSsdBlockConfig: LocalNvmeSsdBlockConfigResponse, val localSsdCount: Int, val loggingConfig: NodePoolLoggingConfigResponse, val machineType: String, val metadata: Map<String, String>, val minCpuPlatform: String, val nodeGroup: String, val oauthScopes: List<String>, val preemptible: Boolean, val reservationAffinity: ReservationAffinityResponse, val resourceLabels: Map<String, String>, val sandboxConfig: SandboxConfigResponse, val serviceAccount: String, val shieldedInstanceConfig: ShieldedInstanceConfigResponse, val spot: Boolean, val tags: List<String>, val taints: List<NodeTaintResponse>, val windowsNodeConfig: WindowsNodeConfigResponse, val workloadMetadataConfig: WorkloadMetadataConfigResponse)

Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not recognize parameters in NodeConfig. Use AutoprovisioningNodePoolDefaults instead.

Link copied to clipboard
data class NodeKubeletConfigResponse(val cpuCfsQuota: Boolean, val cpuCfsQuotaPeriod: String, val cpuManagerPolicy: String, val podPidsLimit: String)

Node kubelet configs.

Link copied to clipboard
data class NodeManagementResponse(val autoRepair: Boolean, val autoUpgrade: Boolean, val upgradeOptions: AutoUpgradeOptionsResponse)

NodeManagement defines the set of node management services turned on for the node pool.

Link copied to clipboard
data class NodeNetworkConfigResponse(val createPodRange: Boolean, val enablePrivateNodes: Boolean, val networkPerformanceConfig: NetworkPerformanceConfigResponse, val podCidrOverprovisionConfig: PodCIDROverprovisionConfigResponse, val podIpv4CidrBlock: String, val podRange: String)

Parameters for node pool-level network config.

Link copied to clipboard
data class NodePoolAutoConfigResponse(val networkTags: NetworkTagsResponse)

node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters

Link copied to clipboard
data class NodePoolAutoscalingResponse(val autoprovisioned: Boolean, val enabled: Boolean, val locationPolicy: String, val maxNodeCount: Int, val minNodeCount: Int, val totalMaxNodeCount: Int, val totalMinNodeCount: Int)

NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.

Link copied to clipboard
data class NodePoolDefaultsResponse(val nodeConfigDefaults: NodeConfigDefaultsResponse)

Subset of Nodepool message that has defaults.

Link copied to clipboard

NodePoolLoggingConfig specifies logging configuration for nodepools.

Link copied to clipboard
data class NodePoolResponse(val autoscaling: NodePoolAutoscalingResponse, val conditions: List<StatusConditionResponse>, val config: NodeConfigResponse, val etag: String, val initialNodeCount: Int, val instanceGroupUrls: List<String>, val locations: List<String>, val management: NodeManagementResponse, val maxPodsConstraint: MaxPodsConstraintResponse, val name: String, val networkConfig: NodeNetworkConfigResponse, val placementPolicy: PlacementPolicyResponse, val podIpv4CidrSize: Int, val selfLink: String, val status: String, val statusMessage: String, val updateInfo: UpdateInfoResponse, val upgradeSettings: UpgradeSettingsResponse, val version: String)

NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload. These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.

Link copied to clipboard
data class NodeTaintResponse(val effect: String, val key: String, val value: String)

Kubernetes taint is composed of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See here for more information, including usage and the valid values.

Link copied to clipboard

NotificationConfig is the configuration of notifications.

Link copied to clipboard
data class PlacementPolicyResponse(val type: String)

PlacementPolicy defines the placement policy used by the node pool.

Link copied to clipboard

PRIVATE FIELD Config for pod CIDR size overprovisioning.

Link copied to clipboard
data class PodSecurityPolicyConfigResponse(val enabled: Boolean)

Configuration for the PodSecurityPolicy feature.

Link copied to clipboard
data class PrivateClusterConfigResponse(val enablePrivateEndpoint: Boolean, val enablePrivateNodes: Boolean, val masterGlobalAccessConfig: PrivateClusterMasterGlobalAccessConfigResponse, val masterIpv4CidrBlock: String, val peeringName: String, val privateEndpoint: String, val privateEndpointSubnetwork: String, val publicEndpoint: String)

Configuration options for private clusters.

Configuration for controlling master global access settings.

Link copied to clipboard
data class ProtectConfigResponse(val workloadConfig: WorkloadConfigResponse, val workloadVulnerabilityMode: String)

ProtectConfig defines the flags needed to enable/disable features for the Protect API.

Link copied to clipboard
data class PubSubResponse(val enabled: Boolean, val filter: FilterResponse, val topic: String)

Pub/Sub specific notification config.

Link copied to clipboard
data class RecurringTimeWindowResponse(val recurrence: String, val window: TimeWindowResponse)

Represents an arbitrary window of time that recurs.

Link copied to clipboard
data class ReleaseChannelConfigResponse(val availableVersions: List<AvailableVersionResponse>, val channel: String, val defaultVersion: String, val validVersions: List<String>)

ReleaseChannelConfig exposes configuration for a release channel.

Link copied to clipboard
data class ReleaseChannelResponse(val channel: String)

ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.

Link copied to clipboard
data class ReservationAffinityResponse(val consumeReservationType: String, val key: String, val values: List<String>)

ReservationAffinity is the configuration of desired reservation which instances could take capacity from.

Link copied to clipboard
data class ResourceLimitResponse(val maximum: String, val minimum: String, val resourceType: String)

Contains information about amount of some resource in the cluster. For memory, value should be in GB.

Link copied to clipboard
data class ResourceUsageExportConfigResponse(val bigqueryDestination: BigQueryDestinationResponse, val consumptionMeteringConfig: ConsumptionMeteringConfigResponse, val enableNetworkEgressMetering: Boolean)

Configuration for exporting cluster resource usages.

Link copied to clipboard
data class SandboxConfigResponse(val sandboxType: String, val type: String)

SandboxConfig contains configurations of the sandbox to use for the node.

Link copied to clipboard
data class ServiceExternalIPsConfigResponse(val enabled: Boolean)

Config to block services with externalIPs field.

Link copied to clipboard
data class ShieldedInstanceConfigResponse(val enableIntegrityMonitoring: Boolean, val enableSecureBoot: Boolean)

A set of Shielded Instance options.

Link copied to clipboard
data class ShieldedNodesResponse(val enabled: Boolean)

Configuration of Shielded Nodes feature.

Link copied to clipboard
data class StandardRolloutPolicyResponse(val batchNodeCount: Int, val batchPercentage: Double, val batchSoakDuration: String)

Standard rollout policy is the default policy for blue-green.

Link copied to clipboard
data class StatusConditionResponse(val canonicalCode: String, val code: String, val message: String)

StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).

Link copied to clipboard
data class TimeWindowResponse(val endTime: String, val maintenanceExclusionOptions: MaintenanceExclusionOptionsResponse, val startTime: String)

Represents an arbitrary window of time.

Link copied to clipboard
data class TpuConfigResponse(val enabled: Boolean, val ipv4CidrBlock: String, val useServiceNetworking: Boolean)

Configuration for Cloud TPU.

Link copied to clipboard
data class UpdateInfoResponse(val blueGreenInfo: BlueGreenInfoResponse)

UpdateInfo contains resource (instance groups, etc), status and other intermediate information relevant to a node pool upgrade.

Link copied to clipboard
data class UpgradeSettingsResponse(val blueGreenSettings: BlueGreenSettingsResponse, val maxSurge: Int, val maxUnavailable: Int, val strategy: String)

These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is SURGE, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted.

Link copied to clipboard
data class VerticalPodAutoscalingResponse(val enabled: Boolean)

VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it.

Link copied to clipboard
data class VirtualNICResponse(val enabled: Boolean)

Configuration of gVNIC feature.

Link copied to clipboard
data class WindowsNodeConfigResponse(val osVersion: String)

Parameters that can be configured on Windows nodes. Windows Node Config that define the parameters that will be used to configure the Windows node pool settings

Link copied to clipboard
data class WorkloadALTSConfigResponse(val enableAlts: Boolean)

Configuration for direct-path (via ALTS) with workload identity.

Link copied to clipboard
data class WorkloadCertificatesResponse(val enableCertificates: Boolean)

Configuration for issuance of mTLS keys and certificates to Kubernetes pods.

Link copied to clipboard
data class WorkloadConfigResponse(val auditMode: String)

WorkloadConfig defines the flags to enable or disable the workload configurations for the cluster.

Link copied to clipboard
data class WorkloadIdentityConfigResponse(val identityNamespace: String, val identityProvider: String, val workloadPool: String)

Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.

Link copied to clipboard
data class WorkloadMetadataConfigResponse(val mode: String, val nodeMetadata: String)

WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool.