Skip to content

container.v1beta1.cluster

"Cluster is the Schema for the Clusters API. Creates a Google Kubernetes Engine (GKE) cluster."

Index

Fields

fn new

new(name)

new returns an instance of Cluster

obj metadata

"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create."

fn metadata.withAnnotations

withAnnotations(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

fn metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

Note: This function appends passed data to existing values

fn metadata.withClusterName

withClusterName(clusterName)

"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request."

fn metadata.withCreationTimestamp

withCreationTimestamp(creationTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withDeletionGracePeriodSeconds

withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)

"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only."

fn metadata.withDeletionTimestamp

withDeletionTimestamp(deletionTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withFinalizers

withFinalizers(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

fn metadata.withFinalizersMixin

withFinalizersMixin(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

Note: This function appends passed data to existing values

fn metadata.withGenerateName

withGenerateName(generateName)

"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"

fn metadata.withGeneration

withGeneration(generation)

"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only."

fn metadata.withLabels

withLabels(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

fn metadata.withLabelsMixin

withLabelsMixin(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

Note: This function appends passed data to existing values

fn metadata.withName

withName(name)

"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names"

fn metadata.withNamespace

withNamespace(namespace)

"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"

fn metadata.withOwnerReferences

withOwnerReferences(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

fn metadata.withOwnerReferencesMixin

withOwnerReferencesMixin(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

Note: This function appends passed data to existing values

fn metadata.withResourceVersion

withResourceVersion(resourceVersion)

"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency"

withSelfLink(selfLink)

"SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release."

fn metadata.withUid

withUid(uid)

"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"

obj spec

"ClusterSpec defines the desired state of Cluster"

fn spec.withDeletionPolicy

withDeletionPolicy(deletionPolicy)

"DeletionPolicy specifies what will happen to the underlying external when this managed resource is deleted - either \"Delete\" or \"Orphan\" the external resource. This field is planned to be deprecated in favor of the ManagementPolicies field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223"

fn spec.withManagementPolicies

withManagementPolicies(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

fn spec.withManagementPoliciesMixin

withManagementPoliciesMixin(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

Note: This function appends passed data to existing values

obj spec.forProvider

fn spec.forProvider.withAddonsConfig

withAddonsConfig(addonsConfig)

"The configuration for addons supported by GKE. Structure is documented below."

fn spec.forProvider.withAddonsConfigMixin

withAddonsConfigMixin(addonsConfig)

"The configuration for addons supported by GKE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withAuthenticatorGroupsConfig

withAuthenticatorGroupsConfig(authenticatorGroupsConfig)

"Configuration for the Google Groups for GKE feature. Structure is documented below."

fn spec.forProvider.withAuthenticatorGroupsConfigMixin

withAuthenticatorGroupsConfigMixin(authenticatorGroupsConfig)

"Configuration for the Google Groups for GKE feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withBinaryAuthorization

withBinaryAuthorization(binaryAuthorization)

"Configuration options for the Binary Authorization feature. Structure is documented below."

fn spec.forProvider.withBinaryAuthorizationMixin

withBinaryAuthorizationMixin(binaryAuthorization)

"Configuration options for the Binary Authorization feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withClusterAutoscaling

withClusterAutoscaling(clusterAutoscaling)

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

fn spec.forProvider.withClusterAutoscalingMixin

withClusterAutoscalingMixin(clusterAutoscaling)

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withClusterIpv4Cidr

withClusterIpv4Cidr(clusterIpv4Cidr)

"The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined."

fn spec.forProvider.withConfidentialNodes

withConfidentialNodes(confidentialNodes)

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

fn spec.forProvider.withConfidentialNodesMixin

withConfidentialNodesMixin(confidentialNodes)

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCostManagementConfig

withCostManagementConfig(costManagementConfig)

"Configuration for the Cost Allocation feature. Structure is documented below."

fn spec.forProvider.withCostManagementConfigMixin

withCostManagementConfigMixin(costManagementConfig)

"Configuration for the Cost Allocation feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withDatabaseEncryption

withDatabaseEncryption(databaseEncryption)

"Structure is documented below."

fn spec.forProvider.withDatabaseEncryptionMixin

withDatabaseEncryptionMixin(databaseEncryption)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withDatapathProvider

withDatapathProvider(datapathProvider)

"The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation."

fn spec.forProvider.withDefaultMaxPodsPerNode

withDefaultMaxPodsPerNode(defaultMaxPodsPerNode)

"The default maximum number of pods per node in this cluster. This doesn't work on \"routes-based\" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information."

fn spec.forProvider.withDefaultSnatStatus

withDefaultSnatStatus(defaultSnatStatus)

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

fn spec.forProvider.withDefaultSnatStatusMixin

withDefaultSnatStatusMixin(defaultSnatStatus)

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.forProvider.withDescription

withDescription(description)

"Description of the cluster."

fn spec.forProvider.withDnsConfig

withDnsConfig(dnsConfig)

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

fn spec.forProvider.withDnsConfigMixin

withDnsConfigMixin(dnsConfig)

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withEnableAutopilot

withEnableAutopilot(enableAutopilot)

"Enable Autopilot for this cluster. Defaults to false. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features."

fn spec.forProvider.withEnableBinaryAuthorization

withEnableBinaryAuthorization(enableBinaryAuthorization)

"(DEPRECATED) Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization. Deprecated in favor of binary_authorization."

fn spec.forProvider.withEnableIntranodeVisibility

withEnableIntranodeVisibility(enableIntranodeVisibility)

"Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network."

fn spec.forProvider.withEnableKubernetesAlpha

withEnableKubernetesAlpha(enableKubernetesAlpha)

"Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days."

fn spec.forProvider.withEnableL4IlbSubsetting

withEnableL4IlbSubsetting(enableL4IlbSubsetting)

"Whether L4ILB Subsetting is enabled for this cluster."

fn spec.forProvider.withEnableLegacyAbac

withEnableLegacyAbac(enableLegacyAbac)

"Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false"

fn spec.forProvider.withEnableShieldedNodes

withEnableShieldedNodes(enableShieldedNodes)

"Enable Shielded Nodes features on all nodes in this cluster. Defaults to true."

fn spec.forProvider.withEnableTpu

withEnableTpu(enableTpu)

"Whether to enable Cloud TPU resources in this cluster. See the official documentation."

fn spec.forProvider.withGatewayApiConfig

withGatewayApiConfig(gatewayApiConfig)

"Configuration for GKE Gateway API controller. Structure is documented below."

fn spec.forProvider.withGatewayApiConfigMixin

withGatewayApiConfigMixin(gatewayApiConfig)

"Configuration for GKE Gateway API controller. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withInitialNodeCount

withInitialNodeCount(initialNodeCount)

"The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if node_pool is not set. If you're using google_container_node_pool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true."

fn spec.forProvider.withIpAllocationPolicy

withIpAllocationPolicy(ipAllocationPolicy)

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

fn spec.forProvider.withIpAllocationPolicyMixin

withIpAllocationPolicyMixin(ipAllocationPolicy)

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withLocation

withLocation(location)

"The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well"

fn spec.forProvider.withLoggingConfig

withLoggingConfig(loggingConfig)

"Logging configuration for the cluster. Structure is documented below."

fn spec.forProvider.withLoggingConfigMixin

withLoggingConfigMixin(loggingConfig)

"Logging configuration for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withLoggingService

withLoggingService(loggingService)

"The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes"

fn spec.forProvider.withMaintenancePolicy

withMaintenancePolicy(maintenancePolicy)

"The maintenance policy to use for the cluster. Structure is documented below."

fn spec.forProvider.withMaintenancePolicyMixin

withMaintenancePolicyMixin(maintenancePolicy)

"The maintenance policy to use for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withMasterAuth

withMasterAuth(masterAuth)

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

fn spec.forProvider.withMasterAuthMixin

withMasterAuthMixin(masterAuth)

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withMasterAuthorizedNetworksConfig

withMasterAuthorizedNetworksConfig(masterAuthorizedNetworksConfig)

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

fn spec.forProvider.withMasterAuthorizedNetworksConfigMixin

withMasterAuthorizedNetworksConfigMixin(masterAuthorizedNetworksConfig)

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withMeshCertificates

withMeshCertificates(meshCertificates)

"Structure is documented below."

fn spec.forProvider.withMeshCertificatesMixin

withMeshCertificatesMixin(meshCertificates)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withMinMasterVersion

withMinMasterVersion(minMasterVersion)

"The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). If you intend to specify versions manually, the docs describe the various acceptable formats for this field."

fn spec.forProvider.withMonitoringConfig

withMonitoringConfig(monitoringConfig)

"Monitoring configuration for the cluster. Structure is documented below."

fn spec.forProvider.withMonitoringConfigMixin

withMonitoringConfigMixin(monitoringConfig)

"Monitoring configuration for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withMonitoringService

withMonitoringService(monitoringService)

"The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes"

fn spec.forProvider.withNetwork

withNetwork(network)

"The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network."

fn spec.forProvider.withNetworkPolicy

withNetworkPolicy(networkPolicy)

"Configuration options for the NetworkPolicy feature. Structure is documented below."

fn spec.forProvider.withNetworkPolicyMixin

withNetworkPolicyMixin(networkPolicy)

"Configuration options for the NetworkPolicy feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withNetworkingMode

withNetworkingMode(networkingMode)

"Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are VPC_NATIVE or ROUTES. VPC_NATIVE enables IP aliasing, and requires the ip_allocation_policy block to be defined. By default, when this field is unspecified and no ip_allocation_policy blocks are set, GKE will create a ROUTES-based cluster."

fn spec.forProvider.withNodeConfig

withNodeConfig(nodeConfig)

"Parameters used in creating the default node pool. Structure is documented below."

fn spec.forProvider.withNodeConfigMixin

withNodeConfigMixin(nodeConfig)

"Parameters used in creating the default node pool. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withNodeLocations

withNodeLocations(nodeLocations)

"The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone."

fn spec.forProvider.withNodeLocationsMixin

withNodeLocationsMixin(nodeLocations)

"The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone."

Note: This function appends passed data to existing values

fn spec.forProvider.withNodePoolDefaults

withNodePoolDefaults(nodePoolDefaults)

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

fn spec.forProvider.withNodePoolDefaultsMixin

withNodePoolDefaultsMixin(nodePoolDefaults)

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withNodeVersion

withNodeVersion(nodeVersion)

"The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. To update nodes in other node pools, use the version attribute on the node pool."

fn spec.forProvider.withNotificationConfig

withNotificationConfig(notificationConfig)

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

fn spec.forProvider.withNotificationConfigMixin

withNotificationConfigMixin(notificationConfig)

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withPrivateClusterConfig

withPrivateClusterConfig(privateClusterConfig)

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

fn spec.forProvider.withPrivateClusterConfigMixin

withPrivateClusterConfigMixin(privateClusterConfig)

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withPrivateIpv6GoogleAccess

withPrivateIpv6GoogleAccess(privateIpv6GoogleAccess)

"The desired state of IPv6 connectivity to Google Services. By default, no private IPv6 access to or from Google Services (all access will be via IPv4)."

fn spec.forProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.forProvider.withReleaseChannel

withReleaseChannel(releaseChannel)

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

fn spec.forProvider.withReleaseChannelMixin

withReleaseChannelMixin(releaseChannel)

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withRemoveDefaultNodePool

withRemoveDefaultNodePool(removeDefaultNodePool)

"If true, deletes the default node pool upon cluster creation. If you're using google_container_node_pool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1."

fn spec.forProvider.withResourceLabels

withResourceLabels(resourceLabels)

"The GCE resource labels (a map of key/value pairs) to be applied to the cluster."

fn spec.forProvider.withResourceLabelsMixin

withResourceLabelsMixin(resourceLabels)

"The GCE resource labels (a map of key/value pairs) to be applied to the cluster."

Note: This function appends passed data to existing values

fn spec.forProvider.withResourceUsageExportConfig

withResourceUsageExportConfig(resourceUsageExportConfig)

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

fn spec.forProvider.withResourceUsageExportConfigMixin

withResourceUsageExportConfigMixin(resourceUsageExportConfig)

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withServiceExternalIpsConfig

withServiceExternalIpsConfig(serviceExternalIpsConfig)

"Structure is documented below."

fn spec.forProvider.withServiceExternalIpsConfigMixin

withServiceExternalIpsConfigMixin(serviceExternalIpsConfig)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withSubnetwork

withSubnetwork(subnetwork)

"The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched."

fn spec.forProvider.withVerticalPodAutoscaling

withVerticalPodAutoscaling(verticalPodAutoscaling)

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

fn spec.forProvider.withVerticalPodAutoscalingMixin

withVerticalPodAutoscalingMixin(verticalPodAutoscaling)

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withWorkloadIdentityConfig

withWorkloadIdentityConfig(workloadIdentityConfig)

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

fn spec.forProvider.withWorkloadIdentityConfigMixin

withWorkloadIdentityConfigMixin(workloadIdentityConfig)

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.addonsConfig

"The configuration for addons supported by GKE. Structure is documented below."

fn spec.forProvider.addonsConfig.withCloudrunConfig

withCloudrunConfig(cloudrunConfig)

". Structure is documented below."

fn spec.forProvider.addonsConfig.withCloudrunConfigMixin

withCloudrunConfigMixin(cloudrunConfig)

". Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withConfigConnectorConfig

withConfigConnectorConfig(configConnectorConfig)

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

fn spec.forProvider.addonsConfig.withConfigConnectorConfigMixin

withConfigConnectorConfigMixin(configConnectorConfig)

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withDnsCacheConfig

withDnsCacheConfig(dnsCacheConfig)

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

fn spec.forProvider.addonsConfig.withDnsCacheConfigMixin

withDnsCacheConfigMixin(dnsCacheConfig)

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withGcePersistentDiskCsiDriverConfig

withGcePersistentDiskCsiDriverConfig(gcePersistentDiskCsiDriverConfig)

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

fn spec.forProvider.addonsConfig.withGcePersistentDiskCsiDriverConfigMixin

withGcePersistentDiskCsiDriverConfigMixin(gcePersistentDiskCsiDriverConfig)

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withGcpFilestoreCsiDriverConfig

withGcpFilestoreCsiDriverConfig(gcpFilestoreCsiDriverConfig)

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

fn spec.forProvider.addonsConfig.withGcpFilestoreCsiDriverConfigMixin

withGcpFilestoreCsiDriverConfigMixin(gcpFilestoreCsiDriverConfig)

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withGkeBackupAgentConfig

withGkeBackupAgentConfig(gkeBackupAgentConfig)

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

fn spec.forProvider.addonsConfig.withGkeBackupAgentConfigMixin

withGkeBackupAgentConfigMixin(gkeBackupAgentConfig)

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withHorizontalPodAutoscaling

withHorizontalPodAutoscaling(horizontalPodAutoscaling)

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

fn spec.forProvider.addonsConfig.withHorizontalPodAutoscalingMixin

withHorizontalPodAutoscalingMixin(horizontalPodAutoscaling)

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withHttpLoadBalancing

withHttpLoadBalancing(httpLoadBalancing)

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

fn spec.forProvider.addonsConfig.withHttpLoadBalancingMixin

withHttpLoadBalancingMixin(httpLoadBalancing)

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

Note: This function appends passed data to existing values

fn spec.forProvider.addonsConfig.withNetworkPolicyConfig

withNetworkPolicyConfig(networkPolicyConfig)

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

fn spec.forProvider.addonsConfig.withNetworkPolicyConfigMixin

withNetworkPolicyConfigMixin(networkPolicyConfig)

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

Note: This function appends passed data to existing values

obj spec.forProvider.addonsConfig.cloudrunConfig

". Structure is documented below."

fn spec.forProvider.addonsConfig.cloudrunConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

fn spec.forProvider.addonsConfig.cloudrunConfig.withLoadBalancerType

withLoadBalancerType(loadBalancerType)

"The load balancer type of CloudRun ingress service. It is external load balancer by default. Set load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL to configure it as internal load balancer."

obj spec.forProvider.addonsConfig.configConnectorConfig

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

fn spec.forProvider.addonsConfig.configConnectorConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.addonsConfig.dnsCacheConfig

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

fn spec.forProvider.addonsConfig.dnsCacheConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.addonsConfig.gcePersistentDiskCsiDriverConfig

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

fn spec.forProvider.addonsConfig.gcePersistentDiskCsiDriverConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.addonsConfig.gcpFilestoreCsiDriverConfig

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

fn spec.forProvider.addonsConfig.gcpFilestoreCsiDriverConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.addonsConfig.gkeBackupAgentConfig

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

fn spec.forProvider.addonsConfig.gkeBackupAgentConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.addonsConfig.horizontalPodAutoscaling

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

fn spec.forProvider.addonsConfig.horizontalPodAutoscaling.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.forProvider.addonsConfig.httpLoadBalancing

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

fn spec.forProvider.addonsConfig.httpLoadBalancing.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.forProvider.addonsConfig.networkPolicyConfig

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

fn spec.forProvider.addonsConfig.networkPolicyConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.forProvider.authenticatorGroupsConfig

"Configuration for the Google Groups for GKE feature. Structure is documented below."

fn spec.forProvider.authenticatorGroupsConfig.withSecurityGroup

withSecurityGroup(securityGroup)

"The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com."

obj spec.forProvider.binaryAuthorization

"Configuration options for the Binary Authorization feature. Structure is documented below."

fn spec.forProvider.binaryAuthorization.withEnabled

withEnabled(enabled)

"(DEPRECATED) Enable Binary Authorization for this cluster. Deprecated in favor of evaluation_mode."

fn spec.forProvider.binaryAuthorization.withEvaluationMode

withEvaluationMode(evaluationMode)

"Mode of operation for Binary Authorization policy evaluation. Valid values are DISABLED and PROJECT_SINGLETON_POLICY_ENFORCE. PROJECT_SINGLETON_POLICY_ENFORCE is functionally equivalent to the deprecated enable_binary_authorization parameter being set to true."

obj spec.forProvider.clusterAutoscaling

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.withAutoProvisioningDefaults

withAutoProvisioningDefaults(autoProvisioningDefaults)

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.withAutoProvisioningDefaultsMixin

withAutoProvisioningDefaultsMixin(autoProvisioningDefaults)

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.clusterAutoscaling.withEnabled

withEnabled(enabled)

"Whether node auto-provisioning is enabled. Must be supplied for GKE Standard clusters, true is implied for autopilot clusters. Resource limits for cpu and memory must be defined to enable node auto-provisioning for GKE Standard."

fn spec.forProvider.clusterAutoscaling.withResourceLimits

withResourceLimits(resourceLimits)

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.withResourceLimitsMixin

withResourceLimitsMixin(resourceLimits)

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withBootDiskKmsKey

withBootDiskKmsKey(bootDiskKmsKey)

"The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption"

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withDiskSize

withDiskSize(diskSize)

"Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100"

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withDiskType

withDiskType(diskType)

"Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'"

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withImageType

withImageType(imageType)

"The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withManagement

withManagement(management)

"NodeManagement configuration for this NodePool. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withManagementMixin

withManagementMixin(management)

"NodeManagement configuration for this NodePool. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell. See the official documentation for more information."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withOauthScopes

withOauthScopes(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withOauthScopesMixin

withOauthScopesMixin(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

Note: This function appends passed data to existing values

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withServiceAccount

withServiceAccount(serviceAccount)

"The service account to be used by the Node VMs. If not specified, the \"default\" service account is used."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withUpgradeSettings

withUpgradeSettings(upgradeSettings)

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.withUpgradeSettingsMixin

withUpgradeSettingsMixin(upgradeSettings)

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.management

"NodeManagement configuration for this NodePool. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.management.withAutoRepair

withAutoRepair(autoRepair)

"Specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.management.withAutoUpgrade

withAutoUpgrade(autoUpgrade)

"Specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes."

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig

"Shielded Instance options. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"Defines if the instance has integrity monitoring enabled."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"Defines if the instance has Secure Boot enabled."

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withBlueGreenSettings

withBlueGreenSettings(blueGreenSettings)

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withBlueGreenSettingsMixin

withBlueGreenSettingsMixin(blueGreenSettings)

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withMaxSurge

withMaxSurge(maxSurge)

"The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process. To be used when strategy is set to SURGE. Default is 0."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withMaxUnavailable

withMaxUnavailable(maxUnavailable)

"The maximum number of nodes that can be simultaneously unavailable during the upgrade process. To be used when strategy is set to SURGE. Default is 0."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withStrategy

withStrategy(strategy)

"Strategy used for node pool update. Strategy can only be one of BLUE_GREEN or SURGE. The default is value is SURGE."

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withNodePoolSoakDuration

withNodePoolSoakDuration(nodePoolSoakDuration)

"Time needed after draining entire blue pool. After this period, blue pool will be cleaned up. A duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\"."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withStandardRolloutPolicy

withStandardRolloutPolicy(standardRolloutPolicy)

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withStandardRolloutPolicyMixin

withStandardRolloutPolicyMixin(standardRolloutPolicy)

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchNodeCount

withBatchNodeCount(batchNodeCount)

"Number of blue nodes to drain in a batch. Only one of the batch_percentage or batch_node_count can be specified."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchPercentage

withBatchPercentage(batchPercentage)

": Percentage of the bool pool nodes to drain in a batch. The range of this field should be (0.0, 1.0). Only one of the batch_percentage or batch_node_count can be specified."

fn spec.forProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchSoakDuration

withBatchSoakDuration(batchSoakDuration)

"Soak time after each batch gets drained. A duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\".`."

obj spec.forProvider.clusterAutoscaling.resourceLimits

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

fn spec.forProvider.clusterAutoscaling.resourceLimits.withMaximum

withMaximum(maximum)

"Maximum amount of the resource in the cluster."

fn spec.forProvider.clusterAutoscaling.resourceLimits.withMinimum

withMinimum(minimum)

"Minimum amount of the resource in the cluster."

fn spec.forProvider.clusterAutoscaling.resourceLimits.withResourceType

withResourceType(resourceType)

"The type of the resource. For example, cpu and memory. See the guide to using Node Auto-Provisioning for a list of types."

obj spec.forProvider.confidentialNodes

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

fn spec.forProvider.confidentialNodes.withEnabled

withEnabled(enabled)

"Enable Confidential Nodes for this cluster."

obj spec.forProvider.costManagementConfig

"Configuration for the Cost Allocation feature. Structure is documented below."

fn spec.forProvider.costManagementConfig.withEnabled

withEnabled(enabled)

"Whether to enable the cost allocation feature."

obj spec.forProvider.databaseEncryption

"Structure is documented below."

fn spec.forProvider.databaseEncryption.withKeyName

withKeyName(keyName)

"the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information."

fn spec.forProvider.databaseEncryption.withState

withState(state)

"ENCRYPTED or DECRYPTED"

obj spec.forProvider.defaultSnatStatus

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

fn spec.forProvider.defaultSnatStatus.withDisabled

withDisabled(disabled)

"Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when defaultSnatStatus is disabled.When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic"

obj spec.forProvider.dnsConfig

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

fn spec.forProvider.dnsConfig.withClusterDns

withClusterDns(clusterDns)

"Which in-cluster DNS provider should be used. PROVIDER_UNSPECIFIED (default) or PLATFORM_DEFAULT or CLOUD_DNS."

fn spec.forProvider.dnsConfig.withClusterDnsDomain

withClusterDnsDomain(clusterDnsDomain)

"The suffix used for all cluster service records."

fn spec.forProvider.dnsConfig.withClusterDnsScope

withClusterDnsScope(clusterDnsScope)

"The scope of access to cluster DNS records. DNS_SCOPE_UNSPECIFIED (default) or CLUSTER_SCOPE or VPC_SCOPE."

obj spec.forProvider.gatewayApiConfig

"Configuration for GKE Gateway API controller. Structure is documented below."

fn spec.forProvider.gatewayApiConfig.withChannel

withChannel(channel)

"Which Gateway Api channel should be used. CHANNEL_DISABLED, CHANNEL_EXPERIMENTAL or CHANNEL_STANDARD."

obj spec.forProvider.ipAllocationPolicy

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

fn spec.forProvider.ipAllocationPolicy.withClusterIpv4CidrBlock

withClusterIpv4CidrBlock(clusterIpv4CidrBlock)

"The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use."

fn spec.forProvider.ipAllocationPolicy.withClusterSecondaryRangeName

withClusterSecondaryRangeName(clusterSecondaryRangeName)

"The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively, cluster_ipv4_cidr_block can be used to automatically create a GKE-managed one."

fn spec.forProvider.ipAllocationPolicy.withPodCidrOverprovisionConfig

withPodCidrOverprovisionConfig(podCidrOverprovisionConfig)

fn spec.forProvider.ipAllocationPolicy.withPodCidrOverprovisionConfigMixin

withPodCidrOverprovisionConfigMixin(podCidrOverprovisionConfig)

Note: This function appends passed data to existing values

fn spec.forProvider.ipAllocationPolicy.withServicesIpv4CidrBlock

withServicesIpv4CidrBlock(servicesIpv4CidrBlock)

"The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use."

fn spec.forProvider.ipAllocationPolicy.withServicesSecondaryRangeName

withServicesSecondaryRangeName(servicesSecondaryRangeName)

"The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs. Alternatively, services_ipv4_cidr_block can be used to automatically create a GKE-managed one."

fn spec.forProvider.ipAllocationPolicy.withStackType

withStackType(stackType)

"The IP Stack Type of the cluster. Default value is IPV4. Possible values are IPV4 and IPV4_IPV6."

obj spec.forProvider.ipAllocationPolicy.podCidrOverprovisionConfig

fn spec.forProvider.ipAllocationPolicy.podCidrOverprovisionConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.forProvider.loggingConfig

"Logging configuration for the cluster. Structure is documented below."

fn spec.forProvider.loggingConfig.withEnableComponents

withEnableComponents(enableComponents)

"The GKE components exposing logs. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS."

fn spec.forProvider.loggingConfig.withEnableComponentsMixin

withEnableComponentsMixin(enableComponents)

"The GKE components exposing logs. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS."

Note: This function appends passed data to existing values

obj spec.forProvider.maintenancePolicy

"The maintenance policy to use for the cluster. Structure is documented below."

fn spec.forProvider.maintenancePolicy.withDailyMaintenanceWindow

withDailyMaintenanceWindow(dailyMaintenanceWindow)

"structure documented below."

fn spec.forProvider.maintenancePolicy.withDailyMaintenanceWindowMixin

withDailyMaintenanceWindowMixin(dailyMaintenanceWindow)

"structure documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.maintenancePolicy.withMaintenanceExclusion

withMaintenanceExclusion(maintenanceExclusion)

"structure documented below"

fn spec.forProvider.maintenancePolicy.withMaintenanceExclusionMixin

withMaintenanceExclusionMixin(maintenanceExclusion)

"structure documented below"

Note: This function appends passed data to existing values

fn spec.forProvider.maintenancePolicy.withRecurringWindow

withRecurringWindow(recurringWindow)

"structure documented below"

fn spec.forProvider.maintenancePolicy.withRecurringWindowMixin

withRecurringWindowMixin(recurringWindow)

"structure documented below"

Note: This function appends passed data to existing values

obj spec.forProvider.maintenancePolicy.dailyMaintenanceWindow

"structure documented below."

fn spec.forProvider.maintenancePolicy.dailyMaintenanceWindow.withStartTime

withStartTime(startTime)

obj spec.forProvider.maintenancePolicy.maintenanceExclusion

"structure documented below"

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.withEndTime

withEndTime(endTime)

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.withExclusionName

withExclusionName(exclusionName)

"The name of the cluster, unique within the project and location."

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.withExclusionOptions

withExclusionOptions(exclusionOptions)

"MaintenanceExclusionOptions provides maintenance exclusion related options."

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.withExclusionOptionsMixin

withExclusionOptionsMixin(exclusionOptions)

"MaintenanceExclusionOptions provides maintenance exclusion related options."

Note: This function appends passed data to existing values

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.withStartTime

withStartTime(startTime)

obj spec.forProvider.maintenancePolicy.maintenanceExclusion.exclusionOptions

"MaintenanceExclusionOptions provides maintenance exclusion related options."

fn spec.forProvider.maintenancePolicy.maintenanceExclusion.exclusionOptions.withScope

withScope(scope)

"The scope of automatic upgrades to restrict in the exclusion window. One of: NO_UPGRADES | NO_MINOR_UPGRADES | NO_MINOR_OR_NODE_UPGRADES"

obj spec.forProvider.maintenancePolicy.recurringWindow

"structure documented below"

fn spec.forProvider.maintenancePolicy.recurringWindow.withEndTime

withEndTime(endTime)

fn spec.forProvider.maintenancePolicy.recurringWindow.withRecurrence

withRecurrence(recurrence)

fn spec.forProvider.maintenancePolicy.recurringWindow.withStartTime

withStartTime(startTime)

obj spec.forProvider.masterAuth

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

fn spec.forProvider.masterAuth.withClientCertificateConfig

withClientCertificateConfig(clientCertificateConfig)

"Whether client certificate authorization is enabled for this cluster. For example:"

fn spec.forProvider.masterAuth.withClientCertificateConfigMixin

withClientCertificateConfigMixin(clientCertificateConfig)

"Whether client certificate authorization is enabled for this cluster. For example:"

Note: This function appends passed data to existing values

obj spec.forProvider.masterAuth.clientCertificateConfig

"Whether client certificate authorization is enabled for this cluster. For example:"

fn spec.forProvider.masterAuth.clientCertificateConfig.withIssueClientCertificate

withIssueClientCertificate(issueClientCertificate)

obj spec.forProvider.masterAuthorizedNetworksConfig

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

fn spec.forProvider.masterAuthorizedNetworksConfig.withCidrBlocks

withCidrBlocks(cidrBlocks)

"External networks that can access the Kubernetes cluster master through HTTPS."

fn spec.forProvider.masterAuthorizedNetworksConfig.withCidrBlocksMixin

withCidrBlocksMixin(cidrBlocks)

"External networks that can access the Kubernetes cluster master through HTTPS."

Note: This function appends passed data to existing values

fn spec.forProvider.masterAuthorizedNetworksConfig.withGcpPublicCidrsAccessEnabled

withGcpPublicCidrsAccessEnabled(gcpPublicCidrsAccessEnabled)

"Whether Kubernetes master is accessible via Google Compute Engine Public IPs."

obj spec.forProvider.masterAuthorizedNetworksConfig.cidrBlocks

"External networks that can access the Kubernetes cluster master through HTTPS."

fn spec.forProvider.masterAuthorizedNetworksConfig.cidrBlocks.withCidrBlock

withCidrBlock(cidrBlock)

"External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation."

fn spec.forProvider.masterAuthorizedNetworksConfig.cidrBlocks.withDisplayName

withDisplayName(displayName)

"Field for users to identify CIDR blocks."

obj spec.forProvider.meshCertificates

"Structure is documented below."

fn spec.forProvider.meshCertificates.withEnableCertificates

withEnableCertificates(enableCertificates)

"Controls the issuance of workload mTLS certificates. It is enabled by default. Workload Identity is required, see workload_config."

obj spec.forProvider.monitoringConfig

"Monitoring configuration for the cluster. Structure is documented below."

fn spec.forProvider.monitoringConfig.withEnableComponents

withEnableComponents(enableComponents)

"The GKE components exposing metrics. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER. In beta provider, WORKLOADS is supported on top of those 4 values. (WORKLOADS is deprecated and removed in GKE 1.24.)"

fn spec.forProvider.monitoringConfig.withEnableComponentsMixin

withEnableComponentsMixin(enableComponents)

"The GKE components exposing metrics. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER. In beta provider, WORKLOADS is supported on top of those 4 values. (WORKLOADS is deprecated and removed in GKE 1.24.)"

Note: This function appends passed data to existing values

fn spec.forProvider.monitoringConfig.withManagedPrometheus

withManagedPrometheus(managedPrometheus)

"Configuration for Managed Service for Prometheus. Structure is documented below."

fn spec.forProvider.monitoringConfig.withManagedPrometheusMixin

withManagedPrometheusMixin(managedPrometheus)

"Configuration for Managed Service for Prometheus. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.monitoringConfig.managedPrometheus

"Configuration for Managed Service for Prometheus. Structure is documented below."

fn spec.forProvider.monitoringConfig.managedPrometheus.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.networkPolicy

"Configuration options for the NetworkPolicy feature. Structure is documented below."

fn spec.forProvider.networkPolicy.withEnabled

withEnabled(enabled)

"Whether network policy is enabled on the cluster."

fn spec.forProvider.networkPolicy.withProvider

withProvider(provider)

"The selected network policy provider. Defaults to PROVIDER_UNSPECIFIED."

obj spec.forProvider.networkRef

"Reference to a Network in compute to populate network."

fn spec.forProvider.networkRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.networkRef.policy

"Policies for referencing."

fn spec.forProvider.networkRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.networkSelector

"Selector for a Network in compute to populate network."

fn spec.forProvider.networkSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.networkSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.networkSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.networkSelector.policy

"Policies for selection."

fn spec.forProvider.networkSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.nodeConfig

"Parameters used in creating the default node pool. Structure is documented below."

fn spec.forProvider.nodeConfig.withAdvancedMachineFeatures

withAdvancedMachineFeatures(advancedMachineFeatures)

"Specifies options for controlling advanced machine features. Structure is documented below."

fn spec.forProvider.nodeConfig.withAdvancedMachineFeaturesMixin

withAdvancedMachineFeaturesMixin(advancedMachineFeatures)

"Specifies options for controlling advanced machine features. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withBootDiskKmsKey

withBootDiskKmsKey(bootDiskKmsKey)

"The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption"

fn spec.forProvider.nodeConfig.withDiskSizeGb

withDiskSizeGb(diskSizeGb)

"Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB."

fn spec.forProvider.nodeConfig.withDiskType

withDiskType(diskType)

"Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'"

fn spec.forProvider.nodeConfig.withEphemeralStorageLocalSsdConfig

withEphemeralStorageLocalSsdConfig(ephemeralStorageLocalSsdConfig)

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

fn spec.forProvider.nodeConfig.withEphemeralStorageLocalSsdConfigMixin

withEphemeralStorageLocalSsdConfigMixin(ephemeralStorageLocalSsdConfig)

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withGcfsConfig

withGcfsConfig(gcfsConfig)

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

fn spec.forProvider.nodeConfig.withGcfsConfigMixin

withGcfsConfigMixin(gcfsConfig)

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withGuestAccelerator

withGuestAccelerator(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

fn spec.forProvider.nodeConfig.withGuestAcceleratorMixin

withGuestAcceleratorMixin(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withGvnic

withGvnic(gvnic)

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

fn spec.forProvider.nodeConfig.withGvnicMixin

withGvnicMixin(gvnic)

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withImageType

withImageType(imageType)

"The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool."

fn spec.forProvider.nodeConfig.withKubeletConfig

withKubeletConfig(kubeletConfig)

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

fn spec.forProvider.nodeConfig.withKubeletConfigMixin

withKubeletConfigMixin(kubeletConfig)

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withLabels

withLabels(labels)

"The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified."

fn spec.forProvider.nodeConfig.withLabelsMixin

withLabelsMixin(labels)

"The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withLinuxNodeConfig

withLinuxNodeConfig(linuxNodeConfig)

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

fn spec.forProvider.nodeConfig.withLinuxNodeConfigMixin

withLinuxNodeConfigMixin(linuxNodeConfig)

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withLocalNvmeSsdBlockConfig

withLocalNvmeSsdBlockConfig(localNvmeSsdBlockConfig)

"Parameters for the local NVMe SSDs. Structure is documented below."

fn spec.forProvider.nodeConfig.withLocalNvmeSsdBlockConfigMixin

withLocalNvmeSsdBlockConfigMixin(localNvmeSsdBlockConfig)

"Parameters for the local NVMe SSDs. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

fn spec.forProvider.nodeConfig.withLoggingVariant

withLoggingVariant(loggingVariant)

"wide default value. Valid values include DEFAULT and MAX_THROUGHPUT. See Increasing logging agent throughput for more information."

fn spec.forProvider.nodeConfig.withMachineType

withMachineType(machineType)

"The name of a Google Compute Engine machine type. Defaults to e2-medium. To create a custom machine type, value should be set as specified here."

fn spec.forProvider.nodeConfig.withMetadata

withMetadata(metadata)

"The metadata key/value pairs assigned to instances in the cluster. From GKE 1. To avoid this, set the value in your config."

fn spec.forProvider.nodeConfig.withMetadataMixin

withMetadataMixin(metadata)

"The metadata key/value pairs assigned to instances in the cluster. From GKE 1. To avoid this, set the value in your config."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell. See the official documentation for more information."

fn spec.forProvider.nodeConfig.withNodeGroup

withNodeGroup(nodeGroup)

"Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes."

fn spec.forProvider.nodeConfig.withOauthScopes

withOauthScopes(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

fn spec.forProvider.nodeConfig.withOauthScopesMixin

withOauthScopesMixin(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withPreemptible

withPreemptible(preemptible)

"A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false."

fn spec.forProvider.nodeConfig.withReservationAffinity

withReservationAffinity(reservationAffinity)

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

fn spec.forProvider.nodeConfig.withReservationAffinityMixin

withReservationAffinityMixin(reservationAffinity)

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withResourceLabels

withResourceLabels(resourceLabels)

"The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes."

fn spec.forProvider.nodeConfig.withResourceLabelsMixin

withResourceLabelsMixin(resourceLabels)

"The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withServiceAccount

withServiceAccount(serviceAccount)

"The service account to be used by the Node VMs. If not specified, the \"default\" service account is used."

fn spec.forProvider.nodeConfig.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

fn spec.forProvider.nodeConfig.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withSpot

withSpot(spot)

"A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false."

fn spec.forProvider.nodeConfig.withTags

withTags(tags)

"The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls."

fn spec.forProvider.nodeConfig.withTagsMixin

withTagsMixin(tags)

"The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withTaint

withTaint(taint)

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

fn spec.forProvider.nodeConfig.withTaintMixin

withTaintMixin(taint)

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.withWorkloadMetadataConfig

withWorkloadMetadataConfig(workloadMetadataConfig)

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

fn spec.forProvider.nodeConfig.withWorkloadMetadataConfigMixin

withWorkloadMetadataConfigMixin(workloadMetadataConfig)

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.nodeConfig.advancedMachineFeatures

"Specifies options for controlling advanced machine features. Structure is documented below."

fn spec.forProvider.nodeConfig.advancedMachineFeatures.withThreadsPerCore

withThreadsPerCore(threadsPerCore)

"The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed."

obj spec.forProvider.nodeConfig.ephemeralStorageLocalSsdConfig

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

fn spec.forProvider.nodeConfig.ephemeralStorageLocalSsdConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

obj spec.forProvider.nodeConfig.gcfsConfig

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

fn spec.forProvider.nodeConfig.gcfsConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.nodeConfig.guestAccelerator

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

fn spec.forProvider.nodeConfig.guestAccelerator.withCount

withCount(count)

"The number of the guest accelerator cards exposed to this instance."

fn spec.forProvider.nodeConfig.guestAccelerator.withGpuPartitionSize

withGpuPartitionSize(gpuPartitionSize)

"Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide."

fn spec.forProvider.nodeConfig.guestAccelerator.withGpuSharingConfig

withGpuSharingConfig(gpuSharingConfig)

"Configuration for GPU sharing. Structure is documented below."

fn spec.forProvider.nodeConfig.guestAccelerator.withGpuSharingConfigMixin

withGpuSharingConfigMixin(gpuSharingConfig)

"Configuration for GPU sharing. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.nodeConfig.guestAccelerator.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.forProvider.nodeConfig.guestAccelerator.gpuSharingConfig

"Configuration for GPU sharing. Structure is documented below."

fn spec.forProvider.nodeConfig.guestAccelerator.gpuSharingConfig.withGpuSharingStrategy

withGpuSharingStrategy(gpuSharingStrategy)

"The type of GPU sharing strategy to enable on the GPU node. Accepted values are:"

fn spec.forProvider.nodeConfig.guestAccelerator.gpuSharingConfig.withMaxSharedClientsPerGpu

withMaxSharedClientsPerGpu(maxSharedClientsPerGpu)

"The maximum number of containers that can share a GPU."

obj spec.forProvider.nodeConfig.gvnic

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

fn spec.forProvider.nodeConfig.gvnic.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.nodeConfig.kubeletConfig

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

fn spec.forProvider.nodeConfig.kubeletConfig.withCpuCfsQuota

withCpuCfsQuota(cpuCfsQuota)

"If true, enables CPU CFS quota enforcement for containers that specify CPU limits."

fn spec.forProvider.nodeConfig.kubeletConfig.withCpuCfsQuotaPeriod

withCpuCfsQuotaPeriod(cpuCfsQuotaPeriod)

"The CPU CFS quota period value. Specified as 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."

fn spec.forProvider.nodeConfig.kubeletConfig.withCpuManagerPolicy

withCpuManagerPolicy(cpuManagerPolicy)

"The CPU management policy on the node. See K8S CPU Management Policies. One of \"none\" or \"static\". Defaults to none when kubelet_config is unset."

fn spec.forProvider.nodeConfig.kubeletConfig.withPodPidsLimit

withPodPidsLimit(podPidsLimit)

"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."

obj spec.forProvider.nodeConfig.linuxNodeConfig

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

fn spec.forProvider.nodeConfig.linuxNodeConfig.withSysctls

withSysctls(sysctls)

"The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as net.core.wmem_max, to a string value."

fn spec.forProvider.nodeConfig.linuxNodeConfig.withSysctlsMixin

withSysctlsMixin(sysctls)

"The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as net.core.wmem_max, to a string value."

Note: This function appends passed data to existing values

obj spec.forProvider.nodeConfig.localNvmeSsdBlockConfig

"Parameters for the local NVMe SSDs. Structure is documented below."

fn spec.forProvider.nodeConfig.localNvmeSsdBlockConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

obj spec.forProvider.nodeConfig.reservationAffinity

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

fn spec.forProvider.nodeConfig.reservationAffinity.withConsumeReservationType

withConsumeReservationType(consumeReservationType)

"The type of reservation consumption Accepted values are:"

fn spec.forProvider.nodeConfig.reservationAffinity.withKey

withKey(key)

"Key for taint."

fn spec.forProvider.nodeConfig.reservationAffinity.withValues

withValues(values)

"name\

fn spec.forProvider.nodeConfig.reservationAffinity.withValuesMixin

withValuesMixin(values)

"name\

Note: This function appends passed data to existing values

obj spec.forProvider.nodeConfig.serviceAccountRef

"Reference to a ServiceAccount in cloudplatform to populate serviceAccount."

fn spec.forProvider.nodeConfig.serviceAccountRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.nodeConfig.serviceAccountRef.policy

"Policies for referencing."

fn spec.forProvider.nodeConfig.serviceAccountRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.nodeConfig.serviceAccountRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.nodeConfig.serviceAccountSelector

"Selector for a ServiceAccount in cloudplatform to populate serviceAccount."

fn spec.forProvider.nodeConfig.serviceAccountSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.nodeConfig.serviceAccountSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.nodeConfig.serviceAccountSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.nodeConfig.serviceAccountSelector.policy

"Policies for selection."

fn spec.forProvider.nodeConfig.serviceAccountSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.nodeConfig.serviceAccountSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.nodeConfig.shieldedInstanceConfig

"Shielded Instance options. Structure is documented below."

fn spec.forProvider.nodeConfig.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"Defines if the instance has integrity monitoring enabled."

fn spec.forProvider.nodeConfig.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"Defines if the instance has Secure Boot enabled."

obj spec.forProvider.nodeConfig.taint

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

fn spec.forProvider.nodeConfig.taint.withEffect

withEffect(effect)

"Effect for taint. Accepted values are NO_SCHEDULE, PREFER_NO_SCHEDULE, and NO_EXECUTE."

fn spec.forProvider.nodeConfig.taint.withKey

withKey(key)

"Key for taint."

fn spec.forProvider.nodeConfig.taint.withValue

withValue(value)

"Value for taint."

obj spec.forProvider.nodeConfig.workloadMetadataConfig

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

fn spec.forProvider.nodeConfig.workloadMetadataConfig.withMode

withMode(mode)

"How to expose the node metadata to the workload running on the node. Accepted values are:"

obj spec.forProvider.nodePoolDefaults

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

fn spec.forProvider.nodePoolDefaults.withNodeConfigDefaults

withNodeConfigDefaults(nodeConfigDefaults)

"Subset of NodeConfig message that has defaults."

fn spec.forProvider.nodePoolDefaults.withNodeConfigDefaultsMixin

withNodeConfigDefaultsMixin(nodeConfigDefaults)

"Subset of NodeConfig message that has defaults."

Note: This function appends passed data to existing values

obj spec.forProvider.nodePoolDefaults.nodeConfigDefaults

"Subset of NodeConfig message that has defaults."

fn spec.forProvider.nodePoolDefaults.nodeConfigDefaults.withLoggingVariant

withLoggingVariant(loggingVariant)

"The type of logging agent that is deployed by default for newly created node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. See Increasing logging agent throughput for more information."

obj spec.forProvider.notificationConfig

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

fn spec.forProvider.notificationConfig.withPubsub

withPubsub(pubsub)

"The pubsub config for the cluster's upgrade notifications."

fn spec.forProvider.notificationConfig.withPubsubMixin

withPubsubMixin(pubsub)

"The pubsub config for the cluster's upgrade notifications."

Note: This function appends passed data to existing values

obj spec.forProvider.notificationConfig.pubsub

"The pubsub config for the cluster's upgrade notifications."

fn spec.forProvider.notificationConfig.pubsub.withEnabled

withEnabled(enabled)

"Whether or not the notification config is enabled"

fn spec.forProvider.notificationConfig.pubsub.withFilter

withFilter(filter)

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

fn spec.forProvider.notificationConfig.pubsub.withFilterMixin

withFilterMixin(filter)

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.notificationConfig.pubsub.withTopic

withTopic(topic)

"The pubsub topic to push upgrade notifications to. Must be in the same project as the cluster. Must be in the format: projects/{project}/topics/{topic}."

obj spec.forProvider.notificationConfig.pubsub.filter

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

fn spec.forProvider.notificationConfig.pubsub.filter.withEventType

withEventType(eventType)

"Can be used to filter what notifications are sent. Accepted values are UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT. See Filtering notifications for more details."

fn spec.forProvider.notificationConfig.pubsub.filter.withEventTypeMixin

withEventTypeMixin(eventType)

"Can be used to filter what notifications are sent. Accepted values are UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT. See Filtering notifications for more details."

Note: This function appends passed data to existing values

obj spec.forProvider.privateClusterConfig

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

fn spec.forProvider.privateClusterConfig.withEnablePrivateEndpoint

withEnablePrivateEndpoint(enablePrivateEndpoint)

"When true, the cluster's private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. When false, either endpoint can be used. This field only applies to private clusters, when enable_private_nodes is true."

fn spec.forProvider.privateClusterConfig.withEnablePrivateNodes

withEnablePrivateNodes(enablePrivateNodes)

"Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master's private endpoint via private networking."

fn spec.forProvider.privateClusterConfig.withMasterGlobalAccessConfig

withMasterGlobalAccessConfig(masterGlobalAccessConfig)

"Controls cluster master global access settings. Structure is documented below."

fn spec.forProvider.privateClusterConfig.withMasterGlobalAccessConfigMixin

withMasterGlobalAccessConfigMixin(masterGlobalAccessConfig)

"Controls cluster master global access settings. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.privateClusterConfig.withMasterIpv4CidrBlock

withMasterIpv4CidrBlock(masterIpv4CidrBlock)

"The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when enable_private_nodes is true."

fn spec.forProvider.privateClusterConfig.withPrivateEndpointSubnetwork

withPrivateEndpointSubnetwork(privateEndpointSubnetwork)

"Subnetwork in cluster's network where master's endpoint will be provisioned."

obj spec.forProvider.privateClusterConfig.masterGlobalAccessConfig

"Controls cluster master global access settings. Structure is documented below."

fn spec.forProvider.privateClusterConfig.masterGlobalAccessConfig.withEnabled

withEnabled(enabled)

"Whether the cluster master is accessible globally or not."

obj spec.forProvider.releaseChannel

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

fn spec.forProvider.releaseChannel.withChannel

withChannel(channel)

"The selected release channel. Accepted values are:"

obj spec.forProvider.resourceUsageExportConfig

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

fn spec.forProvider.resourceUsageExportConfig.withBigqueryDestination

withBigqueryDestination(bigqueryDestination)

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

fn spec.forProvider.resourceUsageExportConfig.withBigqueryDestinationMixin

withBigqueryDestinationMixin(bigqueryDestination)

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

Note: This function appends passed data to existing values

fn spec.forProvider.resourceUsageExportConfig.withEnableNetworkEgressMetering

withEnableNetworkEgressMetering(enableNetworkEgressMetering)

"Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic."

fn spec.forProvider.resourceUsageExportConfig.withEnableResourceConsumptionMetering

withEnableResourceConsumptionMetering(enableResourceConsumptionMetering)

"Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to true."

obj spec.forProvider.resourceUsageExportConfig.bigqueryDestination

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

fn spec.forProvider.resourceUsageExportConfig.bigqueryDestination.withDatasetId

withDatasetId(datasetId)

"The ID of a BigQuery Dataset. For Example:"

obj spec.forProvider.serviceExternalIpsConfig

"Structure is documented below."

fn spec.forProvider.serviceExternalIpsConfig.withEnabled

withEnabled(enabled)

"Controls whether external ips specified by a service will be allowed. It is enabled by default."

obj spec.forProvider.subnetworkRef

"Reference to a Subnetwork in compute to populate subnetwork."

fn spec.forProvider.subnetworkRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.subnetworkRef.policy

"Policies for referencing."

fn spec.forProvider.subnetworkRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.subnetworkRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.subnetworkSelector

"Selector for a Subnetwork in compute to populate subnetwork."

fn spec.forProvider.subnetworkSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.subnetworkSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.subnetworkSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.subnetworkSelector.policy

"Policies for selection."

fn spec.forProvider.subnetworkSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.subnetworkSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.verticalPodAutoscaling

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

fn spec.forProvider.verticalPodAutoscaling.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.forProvider.workloadIdentityConfig

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

fn spec.forProvider.workloadIdentityConfig.withWorkloadPool

withWorkloadPool(workloadPool)

"The workload pool to attach all Kubernetes service accounts to."

obj spec.initProvider

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler."

fn spec.initProvider.withAddonsConfig

withAddonsConfig(addonsConfig)

"The configuration for addons supported by GKE. Structure is documented below."

fn spec.initProvider.withAddonsConfigMixin

withAddonsConfigMixin(addonsConfig)

"The configuration for addons supported by GKE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withAuthenticatorGroupsConfig

withAuthenticatorGroupsConfig(authenticatorGroupsConfig)

"Configuration for the Google Groups for GKE feature. Structure is documented below."

fn spec.initProvider.withAuthenticatorGroupsConfigMixin

withAuthenticatorGroupsConfigMixin(authenticatorGroupsConfig)

"Configuration for the Google Groups for GKE feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withBinaryAuthorization

withBinaryAuthorization(binaryAuthorization)

"Configuration options for the Binary Authorization feature. Structure is documented below."

fn spec.initProvider.withBinaryAuthorizationMixin

withBinaryAuthorizationMixin(binaryAuthorization)

"Configuration options for the Binary Authorization feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withClusterAutoscaling

withClusterAutoscaling(clusterAutoscaling)

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

fn spec.initProvider.withClusterAutoscalingMixin

withClusterAutoscalingMixin(clusterAutoscaling)

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withClusterIpv4Cidr

withClusterIpv4Cidr(clusterIpv4Cidr)

"The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined."

fn spec.initProvider.withConfidentialNodes

withConfidentialNodes(confidentialNodes)

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

fn spec.initProvider.withConfidentialNodesMixin

withConfidentialNodesMixin(confidentialNodes)

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCostManagementConfig

withCostManagementConfig(costManagementConfig)

"Configuration for the Cost Allocation feature. Structure is documented below."

fn spec.initProvider.withCostManagementConfigMixin

withCostManagementConfigMixin(costManagementConfig)

"Configuration for the Cost Allocation feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withDatabaseEncryption

withDatabaseEncryption(databaseEncryption)

"Structure is documented below."

fn spec.initProvider.withDatabaseEncryptionMixin

withDatabaseEncryptionMixin(databaseEncryption)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withDatapathProvider

withDatapathProvider(datapathProvider)

"The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation."

fn spec.initProvider.withDefaultMaxPodsPerNode

withDefaultMaxPodsPerNode(defaultMaxPodsPerNode)

"The default maximum number of pods per node in this cluster. This doesn't work on \"routes-based\" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information."

fn spec.initProvider.withDefaultSnatStatus

withDefaultSnatStatus(defaultSnatStatus)

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

fn spec.initProvider.withDefaultSnatStatusMixin

withDefaultSnatStatusMixin(defaultSnatStatus)

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.initProvider.withDescription

withDescription(description)

"Description of the cluster."

fn spec.initProvider.withDnsConfig

withDnsConfig(dnsConfig)

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

fn spec.initProvider.withDnsConfigMixin

withDnsConfigMixin(dnsConfig)

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withEnableAutopilot

withEnableAutopilot(enableAutopilot)

"Enable Autopilot for this cluster. Defaults to false. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features."

fn spec.initProvider.withEnableBinaryAuthorization

withEnableBinaryAuthorization(enableBinaryAuthorization)

"(DEPRECATED) Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization. Deprecated in favor of binary_authorization."

fn spec.initProvider.withEnableIntranodeVisibility

withEnableIntranodeVisibility(enableIntranodeVisibility)

"Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network."

fn spec.initProvider.withEnableKubernetesAlpha

withEnableKubernetesAlpha(enableKubernetesAlpha)

"Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days."

fn spec.initProvider.withEnableL4IlbSubsetting

withEnableL4IlbSubsetting(enableL4IlbSubsetting)

"Whether L4ILB Subsetting is enabled for this cluster."

fn spec.initProvider.withEnableLegacyAbac

withEnableLegacyAbac(enableLegacyAbac)

"Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false"

fn spec.initProvider.withEnableShieldedNodes

withEnableShieldedNodes(enableShieldedNodes)

"Enable Shielded Nodes features on all nodes in this cluster. Defaults to true."

fn spec.initProvider.withEnableTpu

withEnableTpu(enableTpu)

"Whether to enable Cloud TPU resources in this cluster. See the official documentation."

fn spec.initProvider.withGatewayApiConfig

withGatewayApiConfig(gatewayApiConfig)

"Configuration for GKE Gateway API controller. Structure is documented below."

fn spec.initProvider.withGatewayApiConfigMixin

withGatewayApiConfigMixin(gatewayApiConfig)

"Configuration for GKE Gateway API controller. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withInitialNodeCount

withInitialNodeCount(initialNodeCount)

"The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if node_pool is not set. If you're using google_container_node_pool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true."

fn spec.initProvider.withIpAllocationPolicy

withIpAllocationPolicy(ipAllocationPolicy)

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

fn spec.initProvider.withIpAllocationPolicyMixin

withIpAllocationPolicyMixin(ipAllocationPolicy)

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withLoggingConfig

withLoggingConfig(loggingConfig)

"Logging configuration for the cluster. Structure is documented below."

fn spec.initProvider.withLoggingConfigMixin

withLoggingConfigMixin(loggingConfig)

"Logging configuration for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withLoggingService

withLoggingService(loggingService)

"The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes"

fn spec.initProvider.withMaintenancePolicy

withMaintenancePolicy(maintenancePolicy)

"The maintenance policy to use for the cluster. Structure is documented below."

fn spec.initProvider.withMaintenancePolicyMixin

withMaintenancePolicyMixin(maintenancePolicy)

"The maintenance policy to use for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withMasterAuth

withMasterAuth(masterAuth)

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

fn spec.initProvider.withMasterAuthMixin

withMasterAuthMixin(masterAuth)

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withMasterAuthorizedNetworksConfig

withMasterAuthorizedNetworksConfig(masterAuthorizedNetworksConfig)

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

fn spec.initProvider.withMasterAuthorizedNetworksConfigMixin

withMasterAuthorizedNetworksConfigMixin(masterAuthorizedNetworksConfig)

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withMeshCertificates

withMeshCertificates(meshCertificates)

"Structure is documented below."

fn spec.initProvider.withMeshCertificatesMixin

withMeshCertificatesMixin(meshCertificates)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withMinMasterVersion

withMinMasterVersion(minMasterVersion)

"The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). If you intend to specify versions manually, the docs describe the various acceptable formats for this field."

fn spec.initProvider.withMonitoringConfig

withMonitoringConfig(monitoringConfig)

"Monitoring configuration for the cluster. Structure is documented below."

fn spec.initProvider.withMonitoringConfigMixin

withMonitoringConfigMixin(monitoringConfig)

"Monitoring configuration for the cluster. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withMonitoringService

withMonitoringService(monitoringService)

"The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes"

fn spec.initProvider.withNetworkPolicy

withNetworkPolicy(networkPolicy)

"Configuration options for the NetworkPolicy feature. Structure is documented below."

fn spec.initProvider.withNetworkPolicyMixin

withNetworkPolicyMixin(networkPolicy)

"Configuration options for the NetworkPolicy feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withNetworkingMode

withNetworkingMode(networkingMode)

"Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are VPC_NATIVE or ROUTES. VPC_NATIVE enables IP aliasing, and requires the ip_allocation_policy block to be defined. By default, when this field is unspecified and no ip_allocation_policy blocks are set, GKE will create a ROUTES-based cluster."

fn spec.initProvider.withNodeConfig

withNodeConfig(nodeConfig)

"Parameters used in creating the default node pool. Structure is documented below."

fn spec.initProvider.withNodeConfigMixin

withNodeConfigMixin(nodeConfig)

"Parameters used in creating the default node pool. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withNodeLocations

withNodeLocations(nodeLocations)

"The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone."

fn spec.initProvider.withNodeLocationsMixin

withNodeLocationsMixin(nodeLocations)

"The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone."

Note: This function appends passed data to existing values

fn spec.initProvider.withNodePoolDefaults

withNodePoolDefaults(nodePoolDefaults)

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

fn spec.initProvider.withNodePoolDefaultsMixin

withNodePoolDefaultsMixin(nodePoolDefaults)

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withNodeVersion

withNodeVersion(nodeVersion)

"The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. To update nodes in other node pools, use the version attribute on the node pool."

fn spec.initProvider.withNotificationConfig

withNotificationConfig(notificationConfig)

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

fn spec.initProvider.withNotificationConfigMixin

withNotificationConfigMixin(notificationConfig)

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withPrivateClusterConfig

withPrivateClusterConfig(privateClusterConfig)

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

fn spec.initProvider.withPrivateClusterConfigMixin

withPrivateClusterConfigMixin(privateClusterConfig)

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withPrivateIpv6GoogleAccess

withPrivateIpv6GoogleAccess(privateIpv6GoogleAccess)

"The desired state of IPv6 connectivity to Google Services. By default, no private IPv6 access to or from Google Services (all access will be via IPv4)."

fn spec.initProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.initProvider.withReleaseChannel

withReleaseChannel(releaseChannel)

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

fn spec.initProvider.withReleaseChannelMixin

withReleaseChannelMixin(releaseChannel)

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withRemoveDefaultNodePool

withRemoveDefaultNodePool(removeDefaultNodePool)

"If true, deletes the default node pool upon cluster creation. If you're using google_container_node_pool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1."

fn spec.initProvider.withResourceLabels

withResourceLabels(resourceLabels)

"The GCE resource labels (a map of key/value pairs) to be applied to the cluster."

fn spec.initProvider.withResourceLabelsMixin

withResourceLabelsMixin(resourceLabels)

"The GCE resource labels (a map of key/value pairs) to be applied to the cluster."

Note: This function appends passed data to existing values

fn spec.initProvider.withResourceUsageExportConfig

withResourceUsageExportConfig(resourceUsageExportConfig)

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

fn spec.initProvider.withResourceUsageExportConfigMixin

withResourceUsageExportConfigMixin(resourceUsageExportConfig)

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withServiceExternalIpsConfig

withServiceExternalIpsConfig(serviceExternalIpsConfig)

"Structure is documented below."

fn spec.initProvider.withServiceExternalIpsConfigMixin

withServiceExternalIpsConfigMixin(serviceExternalIpsConfig)

"Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withVerticalPodAutoscaling

withVerticalPodAutoscaling(verticalPodAutoscaling)

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

fn spec.initProvider.withVerticalPodAutoscalingMixin

withVerticalPodAutoscalingMixin(verticalPodAutoscaling)

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withWorkloadIdentityConfig

withWorkloadIdentityConfig(workloadIdentityConfig)

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

fn spec.initProvider.withWorkloadIdentityConfigMixin

withWorkloadIdentityConfigMixin(workloadIdentityConfig)

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.addonsConfig

"The configuration for addons supported by GKE. Structure is documented below."

fn spec.initProvider.addonsConfig.withCloudrunConfig

withCloudrunConfig(cloudrunConfig)

". Structure is documented below."

fn spec.initProvider.addonsConfig.withCloudrunConfigMixin

withCloudrunConfigMixin(cloudrunConfig)

". Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withConfigConnectorConfig

withConfigConnectorConfig(configConnectorConfig)

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

fn spec.initProvider.addonsConfig.withConfigConnectorConfigMixin

withConfigConnectorConfigMixin(configConnectorConfig)

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withDnsCacheConfig

withDnsCacheConfig(dnsCacheConfig)

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

fn spec.initProvider.addonsConfig.withDnsCacheConfigMixin

withDnsCacheConfigMixin(dnsCacheConfig)

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withGcePersistentDiskCsiDriverConfig

withGcePersistentDiskCsiDriverConfig(gcePersistentDiskCsiDriverConfig)

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

fn spec.initProvider.addonsConfig.withGcePersistentDiskCsiDriverConfigMixin

withGcePersistentDiskCsiDriverConfigMixin(gcePersistentDiskCsiDriverConfig)

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withGcpFilestoreCsiDriverConfig

withGcpFilestoreCsiDriverConfig(gcpFilestoreCsiDriverConfig)

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

fn spec.initProvider.addonsConfig.withGcpFilestoreCsiDriverConfigMixin

withGcpFilestoreCsiDriverConfigMixin(gcpFilestoreCsiDriverConfig)

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withGkeBackupAgentConfig

withGkeBackupAgentConfig(gkeBackupAgentConfig)

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

fn spec.initProvider.addonsConfig.withGkeBackupAgentConfigMixin

withGkeBackupAgentConfigMixin(gkeBackupAgentConfig)

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withHorizontalPodAutoscaling

withHorizontalPodAutoscaling(horizontalPodAutoscaling)

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

fn spec.initProvider.addonsConfig.withHorizontalPodAutoscalingMixin

withHorizontalPodAutoscalingMixin(horizontalPodAutoscaling)

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withHttpLoadBalancing

withHttpLoadBalancing(httpLoadBalancing)

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

fn spec.initProvider.addonsConfig.withHttpLoadBalancingMixin

withHttpLoadBalancingMixin(httpLoadBalancing)

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

Note: This function appends passed data to existing values

fn spec.initProvider.addonsConfig.withNetworkPolicyConfig

withNetworkPolicyConfig(networkPolicyConfig)

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

fn spec.initProvider.addonsConfig.withNetworkPolicyConfigMixin

withNetworkPolicyConfigMixin(networkPolicyConfig)

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

Note: This function appends passed data to existing values

obj spec.initProvider.addonsConfig.cloudrunConfig

". Structure is documented below."

fn spec.initProvider.addonsConfig.cloudrunConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

fn spec.initProvider.addonsConfig.cloudrunConfig.withLoadBalancerType

withLoadBalancerType(loadBalancerType)

"The load balancer type of CloudRun ingress service. It is external load balancer by default. Set load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL to configure it as internal load balancer."

obj spec.initProvider.addonsConfig.configConnectorConfig

". The status of the ConfigConnector addon. It is disabled by default; Set enabled = true to enable."

fn spec.initProvider.addonsConfig.configConnectorConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.addonsConfig.dnsCacheConfig

". The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable."

fn spec.initProvider.addonsConfig.dnsCacheConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.addonsConfig.gcePersistentDiskCsiDriverConfig

". Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set enabled = true to enabled."

fn spec.initProvider.addonsConfig.gcePersistentDiskCsiDriverConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.addonsConfig.gcpFilestoreCsiDriverConfig

"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set enabled = true to enable."

fn spec.initProvider.addonsConfig.gcpFilestoreCsiDriverConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.addonsConfig.gkeBackupAgentConfig

". The status of the Backup for GKE agent addon. It is disabled by default; Set enabled = true to enable."

fn spec.initProvider.addonsConfig.gkeBackupAgentConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.addonsConfig.horizontalPodAutoscaling

"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set disabled = true to disable."

fn spec.initProvider.addonsConfig.horizontalPodAutoscaling.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.initProvider.addonsConfig.httpLoadBalancing

"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable."

fn spec.initProvider.addonsConfig.httpLoadBalancing.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.initProvider.addonsConfig.networkPolicyConfig

"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable."

fn spec.initProvider.addonsConfig.networkPolicyConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.initProvider.authenticatorGroupsConfig

"Configuration for the Google Groups for GKE feature. Structure is documented below."

fn spec.initProvider.authenticatorGroupsConfig.withSecurityGroup

withSecurityGroup(securityGroup)

"The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com."

obj spec.initProvider.binaryAuthorization

"Configuration options for the Binary Authorization feature. Structure is documented below."

fn spec.initProvider.binaryAuthorization.withEnabled

withEnabled(enabled)

"(DEPRECATED) Enable Binary Authorization for this cluster. Deprecated in favor of evaluation_mode."

fn spec.initProvider.binaryAuthorization.withEvaluationMode

withEvaluationMode(evaluationMode)

"Mode of operation for Binary Authorization policy evaluation. Valid values are DISABLED and PROJECT_SINGLETON_POLICY_ENFORCE. PROJECT_SINGLETON_POLICY_ENFORCE is functionally equivalent to the deprecated enable_binary_authorization parameter being set to true."

obj spec.initProvider.clusterAutoscaling

"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.withAutoProvisioningDefaults

withAutoProvisioningDefaults(autoProvisioningDefaults)

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.withAutoProvisioningDefaultsMixin

withAutoProvisioningDefaultsMixin(autoProvisioningDefaults)

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.clusterAutoscaling.withEnabled

withEnabled(enabled)

"Whether node auto-provisioning is enabled. Must be supplied for GKE Standard clusters, true is implied for autopilot clusters. Resource limits for cpu and memory must be defined to enable node auto-provisioning for GKE Standard."

fn spec.initProvider.clusterAutoscaling.withResourceLimits

withResourceLimits(resourceLimits)

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.withResourceLimitsMixin

withResourceLimitsMixin(resourceLimits)

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults

"Contains defaults for a node pool created by NAP. A subset of fields also apply to GKE Autopilot clusters. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withBootDiskKmsKey

withBootDiskKmsKey(bootDiskKmsKey)

"The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption"

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withDiskSize

withDiskSize(diskSize)

"Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100"

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withDiskType

withDiskType(diskType)

"Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'"

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withImageType

withImageType(imageType)

"The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withManagement

withManagement(management)

"NodeManagement configuration for this NodePool. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withManagementMixin

withManagementMixin(management)

"NodeManagement configuration for this NodePool. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell. See the official documentation for more information."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withOauthScopes

withOauthScopes(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withOauthScopesMixin

withOauthScopesMixin(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

Note: This function appends passed data to existing values

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withServiceAccount

withServiceAccount(serviceAccount)

"The service account to be used by the Node VMs. If not specified, the \"default\" service account is used."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withUpgradeSettings

withUpgradeSettings(upgradeSettings)

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.withUpgradeSettingsMixin

withUpgradeSettingsMixin(upgradeSettings)

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.management

"NodeManagement configuration for this NodePool. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.management.withAutoRepair

withAutoRepair(autoRepair)

"Specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.management.withAutoUpgrade

withAutoUpgrade(autoUpgrade)

"Specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes."

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig

"Shielded Instance options. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"Defines if the instance has integrity monitoring enabled."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"Defines if the instance has Secure Boot enabled."

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings

"Specifies the upgrade settings for NAP created node pools. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withBlueGreenSettings

withBlueGreenSettings(blueGreenSettings)

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withBlueGreenSettingsMixin

withBlueGreenSettingsMixin(blueGreenSettings)

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withMaxSurge

withMaxSurge(maxSurge)

"The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process. To be used when strategy is set to SURGE. Default is 0."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withMaxUnavailable

withMaxUnavailable(maxUnavailable)

"The maximum number of nodes that can be simultaneously unavailable during the upgrade process. To be used when strategy is set to SURGE. Default is 0."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.withStrategy

withStrategy(strategy)

"Strategy used for node pool update. Strategy can only be one of BLUE_GREEN or SURGE. The default is value is SURGE."

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings

"Settings for blue-green upgrade strategy. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withNodePoolSoakDuration

withNodePoolSoakDuration(nodePoolSoakDuration)

"Time needed after draining entire blue pool. After this period, blue pool will be cleaned up. A duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\"."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withStandardRolloutPolicy

withStandardRolloutPolicy(standardRolloutPolicy)

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.withStandardRolloutPolicyMixin

withStandardRolloutPolicyMixin(standardRolloutPolicy)

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy

"green upgrade. To be specified when strategy is set to BLUE_GREEN. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchNodeCount

withBatchNodeCount(batchNodeCount)

"Number of blue nodes to drain in a batch. Only one of the batch_percentage or batch_node_count can be specified."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchPercentage

withBatchPercentage(batchPercentage)

": Percentage of the bool pool nodes to drain in a batch. The range of this field should be (0.0, 1.0). Only one of the batch_percentage or batch_node_count can be specified."

fn spec.initProvider.clusterAutoscaling.autoProvisioningDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.withBatchSoakDuration

withBatchSoakDuration(batchSoakDuration)

"Soak time after each batch gets drained. A duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\".`."

obj spec.initProvider.clusterAutoscaling.resourceLimits

"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below."

fn spec.initProvider.clusterAutoscaling.resourceLimits.withMaximum

withMaximum(maximum)

"Maximum amount of the resource in the cluster."

fn spec.initProvider.clusterAutoscaling.resourceLimits.withMinimum

withMinimum(minimum)

"Minimum amount of the resource in the cluster."

fn spec.initProvider.clusterAutoscaling.resourceLimits.withResourceType

withResourceType(resourceType)

"The type of the resource. For example, cpu and memory. See the guide to using Node Auto-Provisioning for a list of types."

obj spec.initProvider.confidentialNodes

"Configuration for Confidential Nodes feature. Structure is documented below documented below."

fn spec.initProvider.confidentialNodes.withEnabled

withEnabled(enabled)

"Enable Confidential Nodes for this cluster."

obj spec.initProvider.costManagementConfig

"Configuration for the Cost Allocation feature. Structure is documented below."

fn spec.initProvider.costManagementConfig.withEnabled

withEnabled(enabled)

"Whether to enable the cost allocation feature."

obj spec.initProvider.databaseEncryption

"Structure is documented below."

fn spec.initProvider.databaseEncryption.withKeyName

withKeyName(keyName)

"the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information."

fn spec.initProvider.databaseEncryption.withState

withState(state)

"ENCRYPTED or DECRYPTED"

obj spec.initProvider.defaultSnatStatus

"GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below"

fn spec.initProvider.defaultSnatStatus.withDisabled

withDisabled(disabled)

"Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when defaultSnatStatus is disabled.When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic"

obj spec.initProvider.dnsConfig

"Configuration for Using Cloud DNS for GKE. Structure is documented below."

fn spec.initProvider.dnsConfig.withClusterDns

withClusterDns(clusterDns)

"Which in-cluster DNS provider should be used. PROVIDER_UNSPECIFIED (default) or PLATFORM_DEFAULT or CLOUD_DNS."

fn spec.initProvider.dnsConfig.withClusterDnsDomain

withClusterDnsDomain(clusterDnsDomain)

"The suffix used for all cluster service records."

fn spec.initProvider.dnsConfig.withClusterDnsScope

withClusterDnsScope(clusterDnsScope)

"The scope of access to cluster DNS records. DNS_SCOPE_UNSPECIFIED (default) or CLUSTER_SCOPE or VPC_SCOPE."

obj spec.initProvider.gatewayApiConfig

"Configuration for GKE Gateway API controller. Structure is documented below."

fn spec.initProvider.gatewayApiConfig.withChannel

withChannel(channel)

"Which Gateway Api channel should be used. CHANNEL_DISABLED, CHANNEL_EXPERIMENTAL or CHANNEL_STANDARD."

obj spec.initProvider.ipAllocationPolicy

"Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below."

fn spec.initProvider.ipAllocationPolicy.withClusterIpv4CidrBlock

withClusterIpv4CidrBlock(clusterIpv4CidrBlock)

"The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use."

fn spec.initProvider.ipAllocationPolicy.withClusterSecondaryRangeName

withClusterSecondaryRangeName(clusterSecondaryRangeName)

"The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively, cluster_ipv4_cidr_block can be used to automatically create a GKE-managed one."

fn spec.initProvider.ipAllocationPolicy.withPodCidrOverprovisionConfig

withPodCidrOverprovisionConfig(podCidrOverprovisionConfig)

fn spec.initProvider.ipAllocationPolicy.withPodCidrOverprovisionConfigMixin

withPodCidrOverprovisionConfigMixin(podCidrOverprovisionConfig)

Note: This function appends passed data to existing values

fn spec.initProvider.ipAllocationPolicy.withServicesIpv4CidrBlock

withServicesIpv4CidrBlock(servicesIpv4CidrBlock)

"The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use."

fn spec.initProvider.ipAllocationPolicy.withServicesSecondaryRangeName

withServicesSecondaryRangeName(servicesSecondaryRangeName)

"The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs. Alternatively, services_ipv4_cidr_block can be used to automatically create a GKE-managed one."

fn spec.initProvider.ipAllocationPolicy.withStackType

withStackType(stackType)

"The IP Stack Type of the cluster. Default value is IPV4. Possible values are IPV4 and IPV4_IPV6."

obj spec.initProvider.ipAllocationPolicy.podCidrOverprovisionConfig

fn spec.initProvider.ipAllocationPolicy.podCidrOverprovisionConfig.withDisabled

withDisabled(disabled)

"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable."

obj spec.initProvider.loggingConfig

"Logging configuration for the cluster. Structure is documented below."

fn spec.initProvider.loggingConfig.withEnableComponents

withEnableComponents(enableComponents)

"The GKE components exposing logs. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS."

fn spec.initProvider.loggingConfig.withEnableComponentsMixin

withEnableComponentsMixin(enableComponents)

"The GKE components exposing logs. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS."

Note: This function appends passed data to existing values

obj spec.initProvider.maintenancePolicy

"The maintenance policy to use for the cluster. Structure is documented below."

fn spec.initProvider.maintenancePolicy.withDailyMaintenanceWindow

withDailyMaintenanceWindow(dailyMaintenanceWindow)

"structure documented below."

fn spec.initProvider.maintenancePolicy.withDailyMaintenanceWindowMixin

withDailyMaintenanceWindowMixin(dailyMaintenanceWindow)

"structure documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.maintenancePolicy.withMaintenanceExclusion

withMaintenanceExclusion(maintenanceExclusion)

"structure documented below"

fn spec.initProvider.maintenancePolicy.withMaintenanceExclusionMixin

withMaintenanceExclusionMixin(maintenanceExclusion)

"structure documented below"

Note: This function appends passed data to existing values

fn spec.initProvider.maintenancePolicy.withRecurringWindow

withRecurringWindow(recurringWindow)

"structure documented below"

fn spec.initProvider.maintenancePolicy.withRecurringWindowMixin

withRecurringWindowMixin(recurringWindow)

"structure documented below"

Note: This function appends passed data to existing values

obj spec.initProvider.maintenancePolicy.dailyMaintenanceWindow

"structure documented below."

fn spec.initProvider.maintenancePolicy.dailyMaintenanceWindow.withStartTime

withStartTime(startTime)

obj spec.initProvider.maintenancePolicy.maintenanceExclusion

"structure documented below"

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.withEndTime

withEndTime(endTime)

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.withExclusionName

withExclusionName(exclusionName)

"The name of the cluster, unique within the project and location."

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.withExclusionOptions

withExclusionOptions(exclusionOptions)

"MaintenanceExclusionOptions provides maintenance exclusion related options."

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.withExclusionOptionsMixin

withExclusionOptionsMixin(exclusionOptions)

"MaintenanceExclusionOptions provides maintenance exclusion related options."

Note: This function appends passed data to existing values

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.withStartTime

withStartTime(startTime)

obj spec.initProvider.maintenancePolicy.maintenanceExclusion.exclusionOptions

"MaintenanceExclusionOptions provides maintenance exclusion related options."

fn spec.initProvider.maintenancePolicy.maintenanceExclusion.exclusionOptions.withScope

withScope(scope)

"The scope of automatic upgrades to restrict in the exclusion window. One of: NO_UPGRADES | NO_MINOR_UPGRADES | NO_MINOR_OR_NODE_UPGRADES"

obj spec.initProvider.maintenancePolicy.recurringWindow

"structure documented below"

fn spec.initProvider.maintenancePolicy.recurringWindow.withEndTime

withEndTime(endTime)

fn spec.initProvider.maintenancePolicy.recurringWindow.withRecurrence

withRecurrence(recurrence)

fn spec.initProvider.maintenancePolicy.recurringWindow.withStartTime

withStartTime(startTime)

obj spec.initProvider.masterAuth

"The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission. Structure is documented below."

fn spec.initProvider.masterAuth.withClientCertificateConfig

withClientCertificateConfig(clientCertificateConfig)

"Whether client certificate authorization is enabled for this cluster. For example:"

fn spec.initProvider.masterAuth.withClientCertificateConfigMixin

withClientCertificateConfigMixin(clientCertificateConfig)

"Whether client certificate authorization is enabled for this cluster. For example:"

Note: This function appends passed data to existing values

obj spec.initProvider.masterAuth.clientCertificateConfig

"Whether client certificate authorization is enabled for this cluster. For example:"

fn spec.initProvider.masterAuth.clientCertificateConfig.withIssueClientCertificate

withIssueClientCertificate(issueClientCertificate)

obj spec.initProvider.masterAuthorizedNetworksConfig

"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below."

fn spec.initProvider.masterAuthorizedNetworksConfig.withCidrBlocks

withCidrBlocks(cidrBlocks)

"External networks that can access the Kubernetes cluster master through HTTPS."

fn spec.initProvider.masterAuthorizedNetworksConfig.withCidrBlocksMixin

withCidrBlocksMixin(cidrBlocks)

"External networks that can access the Kubernetes cluster master through HTTPS."

Note: This function appends passed data to existing values

fn spec.initProvider.masterAuthorizedNetworksConfig.withGcpPublicCidrsAccessEnabled

withGcpPublicCidrsAccessEnabled(gcpPublicCidrsAccessEnabled)

"Whether Kubernetes master is accessible via Google Compute Engine Public IPs."

obj spec.initProvider.masterAuthorizedNetworksConfig.cidrBlocks

"External networks that can access the Kubernetes cluster master through HTTPS."

fn spec.initProvider.masterAuthorizedNetworksConfig.cidrBlocks.withCidrBlock

withCidrBlock(cidrBlock)

"External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation."

fn spec.initProvider.masterAuthorizedNetworksConfig.cidrBlocks.withDisplayName

withDisplayName(displayName)

"Field for users to identify CIDR blocks."

obj spec.initProvider.meshCertificates

"Structure is documented below."

fn spec.initProvider.meshCertificates.withEnableCertificates

withEnableCertificates(enableCertificates)

"Controls the issuance of workload mTLS certificates. It is enabled by default. Workload Identity is required, see workload_config."

obj spec.initProvider.monitoringConfig

"Monitoring configuration for the cluster. Structure is documented below."

fn spec.initProvider.monitoringConfig.withEnableComponents

withEnableComponents(enableComponents)

"The GKE components exposing metrics. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER. In beta provider, WORKLOADS is supported on top of those 4 values. (WORKLOADS is deprecated and removed in GKE 1.24.)"

fn spec.initProvider.monitoringConfig.withEnableComponentsMixin

withEnableComponentsMixin(enableComponents)

"The GKE components exposing metrics. Supported values include: SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER. In beta provider, WORKLOADS is supported on top of those 4 values. (WORKLOADS is deprecated and removed in GKE 1.24.)"

Note: This function appends passed data to existing values

fn spec.initProvider.monitoringConfig.withManagedPrometheus

withManagedPrometheus(managedPrometheus)

"Configuration for Managed Service for Prometheus. Structure is documented below."

fn spec.initProvider.monitoringConfig.withManagedPrometheusMixin

withManagedPrometheusMixin(managedPrometheus)

"Configuration for Managed Service for Prometheus. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.monitoringConfig.managedPrometheus

"Configuration for Managed Service for Prometheus. Structure is documented below."

fn spec.initProvider.monitoringConfig.managedPrometheus.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.networkPolicy

"Configuration options for the NetworkPolicy feature. Structure is documented below."

fn spec.initProvider.networkPolicy.withEnabled

withEnabled(enabled)

"Whether network policy is enabled on the cluster."

fn spec.initProvider.networkPolicy.withProvider

withProvider(provider)

"The selected network policy provider. Defaults to PROVIDER_UNSPECIFIED."

obj spec.initProvider.nodeConfig

"Parameters used in creating the default node pool. Structure is documented below."

fn spec.initProvider.nodeConfig.withAdvancedMachineFeatures

withAdvancedMachineFeatures(advancedMachineFeatures)

"Specifies options for controlling advanced machine features. Structure is documented below."

fn spec.initProvider.nodeConfig.withAdvancedMachineFeaturesMixin

withAdvancedMachineFeaturesMixin(advancedMachineFeatures)

"Specifies options for controlling advanced machine features. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withBootDiskKmsKey

withBootDiskKmsKey(bootDiskKmsKey)

"The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption"

fn spec.initProvider.nodeConfig.withDiskSizeGb

withDiskSizeGb(diskSizeGb)

"Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB."

fn spec.initProvider.nodeConfig.withDiskType

withDiskType(diskType)

"Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'"

fn spec.initProvider.nodeConfig.withEphemeralStorageLocalSsdConfig

withEphemeralStorageLocalSsdConfig(ephemeralStorageLocalSsdConfig)

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

fn spec.initProvider.nodeConfig.withEphemeralStorageLocalSsdConfigMixin

withEphemeralStorageLocalSsdConfigMixin(ephemeralStorageLocalSsdConfig)

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withGcfsConfig

withGcfsConfig(gcfsConfig)

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

fn spec.initProvider.nodeConfig.withGcfsConfigMixin

withGcfsConfigMixin(gcfsConfig)

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withGuestAccelerator

withGuestAccelerator(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

fn spec.initProvider.nodeConfig.withGuestAcceleratorMixin

withGuestAcceleratorMixin(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withGvnic

withGvnic(gvnic)

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

fn spec.initProvider.nodeConfig.withGvnicMixin

withGvnicMixin(gvnic)

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withImageType

withImageType(imageType)

"The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool."

fn spec.initProvider.nodeConfig.withKubeletConfig

withKubeletConfig(kubeletConfig)

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

fn spec.initProvider.nodeConfig.withKubeletConfigMixin

withKubeletConfigMixin(kubeletConfig)

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withLabels

withLabels(labels)

"The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified."

fn spec.initProvider.nodeConfig.withLabelsMixin

withLabelsMixin(labels)

"The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withLinuxNodeConfig

withLinuxNodeConfig(linuxNodeConfig)

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

fn spec.initProvider.nodeConfig.withLinuxNodeConfigMixin

withLinuxNodeConfigMixin(linuxNodeConfig)

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withLocalNvmeSsdBlockConfig

withLocalNvmeSsdBlockConfig(localNvmeSsdBlockConfig)

"Parameters for the local NVMe SSDs. Structure is documented below."

fn spec.initProvider.nodeConfig.withLocalNvmeSsdBlockConfigMixin

withLocalNvmeSsdBlockConfigMixin(localNvmeSsdBlockConfig)

"Parameters for the local NVMe SSDs. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

fn spec.initProvider.nodeConfig.withLoggingVariant

withLoggingVariant(loggingVariant)

"wide default value. Valid values include DEFAULT and MAX_THROUGHPUT. See Increasing logging agent throughput for more information."

fn spec.initProvider.nodeConfig.withMachineType

withMachineType(machineType)

"The name of a Google Compute Engine machine type. Defaults to e2-medium. To create a custom machine type, value should be set as specified here."

fn spec.initProvider.nodeConfig.withMetadata

withMetadata(metadata)

"The metadata key/value pairs assigned to instances in the cluster. From GKE 1. To avoid this, set the value in your config."

fn spec.initProvider.nodeConfig.withMetadataMixin

withMetadataMixin(metadata)

"The metadata key/value pairs assigned to instances in the cluster. From GKE 1. To avoid this, set the value in your config."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell. See the official documentation for more information."

fn spec.initProvider.nodeConfig.withNodeGroup

withNodeGroup(nodeGroup)

"Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes."

fn spec.initProvider.nodeConfig.withOauthScopes

withOauthScopes(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

fn spec.initProvider.nodeConfig.withOauthScopesMixin

withOauthScopesMixin(oauthScopes)

"The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. Use the \"https://www.googleapis.com/auth/cloud-platform\" scope to grant access to all APIs. It is recommended that you set service_account to a non-default service account and grant IAM roles to that service account for only the resources that it needs."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withPreemptible

withPreemptible(preemptible)

"A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false."

fn spec.initProvider.nodeConfig.withReservationAffinity

withReservationAffinity(reservationAffinity)

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

fn spec.initProvider.nodeConfig.withReservationAffinityMixin

withReservationAffinityMixin(reservationAffinity)

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withResourceLabels

withResourceLabels(resourceLabels)

"The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes."

fn spec.initProvider.nodeConfig.withResourceLabelsMixin

withResourceLabelsMixin(resourceLabels)

"The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

fn spec.initProvider.nodeConfig.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Shielded Instance options. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withSpot

withSpot(spot)

"A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false."

fn spec.initProvider.nodeConfig.withTags

withTags(tags)

"The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls."

fn spec.initProvider.nodeConfig.withTagsMixin

withTagsMixin(tags)

"The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withTaint

withTaint(taint)

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

fn spec.initProvider.nodeConfig.withTaintMixin

withTaintMixin(taint)

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.withWorkloadMetadataConfig

withWorkloadMetadataConfig(workloadMetadataConfig)

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

fn spec.initProvider.nodeConfig.withWorkloadMetadataConfigMixin

withWorkloadMetadataConfigMixin(workloadMetadataConfig)

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.nodeConfig.advancedMachineFeatures

"Specifies options for controlling advanced machine features. Structure is documented below."

fn spec.initProvider.nodeConfig.advancedMachineFeatures.withThreadsPerCore

withThreadsPerCore(threadsPerCore)

"The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed."

obj spec.initProvider.nodeConfig.ephemeralStorageLocalSsdConfig

"Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below."

fn spec.initProvider.nodeConfig.ephemeralStorageLocalSsdConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

obj spec.initProvider.nodeConfig.gcfsConfig

"Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify image_type = \"COS_CONTAINERD\" and node_version from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum node_version would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A machine_type that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below."

fn spec.initProvider.nodeConfig.gcfsConfig.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.nodeConfig.guestAccelerator

"List of the type and count of accelerator cards attached to the instance. Structure documented below.12 this field is an Attribute as Block"

fn spec.initProvider.nodeConfig.guestAccelerator.withCount

withCount(count)

"The number of the guest accelerator cards exposed to this instance."

fn spec.initProvider.nodeConfig.guestAccelerator.withGpuPartitionSize

withGpuPartitionSize(gpuPartitionSize)

"Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide."

fn spec.initProvider.nodeConfig.guestAccelerator.withGpuSharingConfig

withGpuSharingConfig(gpuSharingConfig)

"Configuration for GPU sharing. Structure is documented below."

fn spec.initProvider.nodeConfig.guestAccelerator.withGpuSharingConfigMixin

withGpuSharingConfigMixin(gpuSharingConfig)

"Configuration for GPU sharing. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.nodeConfig.guestAccelerator.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.initProvider.nodeConfig.guestAccelerator.gpuSharingConfig

"Configuration for GPU sharing. Structure is documented below."

fn spec.initProvider.nodeConfig.guestAccelerator.gpuSharingConfig.withGpuSharingStrategy

withGpuSharingStrategy(gpuSharingStrategy)

"The type of GPU sharing strategy to enable on the GPU node. Accepted values are:"

fn spec.initProvider.nodeConfig.guestAccelerator.gpuSharingConfig.withMaxSharedClientsPerGpu

withMaxSharedClientsPerGpu(maxSharedClientsPerGpu)

"The maximum number of containers that can share a GPU."

obj spec.initProvider.nodeConfig.gvnic

"Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below."

fn spec.initProvider.nodeConfig.gvnic.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.nodeConfig.kubeletConfig

"Kubelet configuration, currently supported attributes can be found here. Structure is documented below."

fn spec.initProvider.nodeConfig.kubeletConfig.withCpuCfsQuota

withCpuCfsQuota(cpuCfsQuota)

"If true, enables CPU CFS quota enforcement for containers that specify CPU limits."

fn spec.initProvider.nodeConfig.kubeletConfig.withCpuCfsQuotaPeriod

withCpuCfsQuotaPeriod(cpuCfsQuotaPeriod)

"The CPU CFS quota period value. Specified as 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."

fn spec.initProvider.nodeConfig.kubeletConfig.withCpuManagerPolicy

withCpuManagerPolicy(cpuManagerPolicy)

"The CPU management policy on the node. See K8S CPU Management Policies. One of \"none\" or \"static\". Defaults to none when kubelet_config is unset."

fn spec.initProvider.nodeConfig.kubeletConfig.withPodPidsLimit

withPodPidsLimit(podPidsLimit)

"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."

obj spec.initProvider.nodeConfig.linuxNodeConfig

"Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below."

fn spec.initProvider.nodeConfig.linuxNodeConfig.withSysctls

withSysctls(sysctls)

"The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as net.core.wmem_max, to a string value."

fn spec.initProvider.nodeConfig.linuxNodeConfig.withSysctlsMixin

withSysctlsMixin(sysctls)

"The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as net.core.wmem_max, to a string value."

Note: This function appends passed data to existing values

obj spec.initProvider.nodeConfig.localNvmeSsdBlockConfig

"Parameters for the local NVMe SSDs. Structure is documented below."

fn spec.initProvider.nodeConfig.localNvmeSsdBlockConfig.withLocalSsdCount

withLocalSsdCount(localSsdCount)

"The amount of local SSD disks that will be attached to each cluster node. Defaults to 0."

obj spec.initProvider.nodeConfig.reservationAffinity

"The configuration of the desired reservation which instances could take capacity from. Structure is documented below."

fn spec.initProvider.nodeConfig.reservationAffinity.withConsumeReservationType

withConsumeReservationType(consumeReservationType)

"The type of reservation consumption Accepted values are:"

fn spec.initProvider.nodeConfig.reservationAffinity.withKey

withKey(key)

"Key for taint."

fn spec.initProvider.nodeConfig.reservationAffinity.withValues

withValues(values)

"name\

fn spec.initProvider.nodeConfig.reservationAffinity.withValuesMixin

withValuesMixin(values)

"name\

Note: This function appends passed data to existing values

obj spec.initProvider.nodeConfig.shieldedInstanceConfig

"Shielded Instance options. Structure is documented below."

fn spec.initProvider.nodeConfig.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"Defines if the instance has integrity monitoring enabled."

fn spec.initProvider.nodeConfig.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"Defines if the instance has Secure Boot enabled."

obj spec.initProvider.nodeConfig.taint

"A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. Taint values can be updated safely in Kubernetes (eg. through kubectl), and it's recommended that you do not use this field to manage taints. If you do, lifecycle.ignore_changes is recommended. Structure is documented below."

fn spec.initProvider.nodeConfig.taint.withEffect

withEffect(effect)

"Effect for taint. Accepted values are NO_SCHEDULE, PREFER_NO_SCHEDULE, and NO_EXECUTE."

fn spec.initProvider.nodeConfig.taint.withKey

withKey(key)

"Key for taint."

fn spec.initProvider.nodeConfig.taint.withValue

withValue(value)

"Value for taint."

obj spec.initProvider.nodeConfig.workloadMetadataConfig

"Metadata configuration to expose to workloads on the node pool. Structure is documented below."

fn spec.initProvider.nodeConfig.workloadMetadataConfig.withMode

withMode(mode)

"How to expose the node metadata to the workload running on the node. Accepted values are:"

obj spec.initProvider.nodePoolDefaults

"Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below."

fn spec.initProvider.nodePoolDefaults.withNodeConfigDefaults

withNodeConfigDefaults(nodeConfigDefaults)

"Subset of NodeConfig message that has defaults."

fn spec.initProvider.nodePoolDefaults.withNodeConfigDefaultsMixin

withNodeConfigDefaultsMixin(nodeConfigDefaults)

"Subset of NodeConfig message that has defaults."

Note: This function appends passed data to existing values

obj spec.initProvider.nodePoolDefaults.nodeConfigDefaults

"Subset of NodeConfig message that has defaults."

fn spec.initProvider.nodePoolDefaults.nodeConfigDefaults.withLoggingVariant

withLoggingVariant(loggingVariant)

"The type of logging agent that is deployed by default for newly created node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. See Increasing logging agent throughput for more information."

obj spec.initProvider.notificationConfig

"Configuration for the cluster upgrade notifications feature. Structure is documented below."

fn spec.initProvider.notificationConfig.withPubsub

withPubsub(pubsub)

"The pubsub config for the cluster's upgrade notifications."

fn spec.initProvider.notificationConfig.withPubsubMixin

withPubsubMixin(pubsub)

"The pubsub config for the cluster's upgrade notifications."

Note: This function appends passed data to existing values

obj spec.initProvider.notificationConfig.pubsub

"The pubsub config for the cluster's upgrade notifications."

fn spec.initProvider.notificationConfig.pubsub.withEnabled

withEnabled(enabled)

"Whether or not the notification config is enabled"

fn spec.initProvider.notificationConfig.pubsub.withFilter

withFilter(filter)

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

fn spec.initProvider.notificationConfig.pubsub.withFilterMixin

withFilterMixin(filter)

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.notificationConfig.pubsub.withTopic

withTopic(topic)

"The pubsub topic to push upgrade notifications to. Must be in the same project as the cluster. Must be in the format: projects/{project}/topics/{topic}."

obj spec.initProvider.notificationConfig.pubsub.filter

"Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Structure is documented below."

fn spec.initProvider.notificationConfig.pubsub.filter.withEventType

withEventType(eventType)

"Can be used to filter what notifications are sent. Accepted values are UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT. See Filtering notifications for more details."

fn spec.initProvider.notificationConfig.pubsub.filter.withEventTypeMixin

withEventTypeMixin(eventType)

"Can be used to filter what notifications are sent. Accepted values are UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT. See Filtering notifications for more details."

Note: This function appends passed data to existing values

obj spec.initProvider.privateClusterConfig

"Configuration for private clusters, clusters with private nodes. Structure is documented below."

fn spec.initProvider.privateClusterConfig.withEnablePrivateEndpoint

withEnablePrivateEndpoint(enablePrivateEndpoint)

"When true, the cluster's private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. When false, either endpoint can be used. This field only applies to private clusters, when enable_private_nodes is true."

fn spec.initProvider.privateClusterConfig.withEnablePrivateNodes

withEnablePrivateNodes(enablePrivateNodes)

"Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master's private endpoint via private networking."

fn spec.initProvider.privateClusterConfig.withMasterGlobalAccessConfig

withMasterGlobalAccessConfig(masterGlobalAccessConfig)

"Controls cluster master global access settings. Structure is documented below."

fn spec.initProvider.privateClusterConfig.withMasterGlobalAccessConfigMixin

withMasterGlobalAccessConfigMixin(masterGlobalAccessConfig)

"Controls cluster master global access settings. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.privateClusterConfig.withMasterIpv4CidrBlock

withMasterIpv4CidrBlock(masterIpv4CidrBlock)

"The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when enable_private_nodes is true."

fn spec.initProvider.privateClusterConfig.withPrivateEndpointSubnetwork

withPrivateEndpointSubnetwork(privateEndpointSubnetwork)

"Subnetwork in cluster's network where master's endpoint will be provisioned."

obj spec.initProvider.privateClusterConfig.masterGlobalAccessConfig

"Controls cluster master global access settings. Structure is documented below."

fn spec.initProvider.privateClusterConfig.masterGlobalAccessConfig.withEnabled

withEnabled(enabled)

"Whether the cluster master is accessible globally or not."

obj spec.initProvider.releaseChannel

"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the google_container_engine_versions datasource can provide the default version for a channel. Instead, use the \"UNSPECIFIED\" channel. Structure is documented below."

fn spec.initProvider.releaseChannel.withChannel

withChannel(channel)

"The selected release channel. Accepted values are:"

obj spec.initProvider.resourceUsageExportConfig

"Configuration for the ResourceUsageExportConfig feature. Structure is documented below."

fn spec.initProvider.resourceUsageExportConfig.withBigqueryDestination

withBigqueryDestination(bigqueryDestination)

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

fn spec.initProvider.resourceUsageExportConfig.withBigqueryDestinationMixin

withBigqueryDestinationMixin(bigqueryDestination)

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

Note: This function appends passed data to existing values

fn spec.initProvider.resourceUsageExportConfig.withEnableNetworkEgressMetering

withEnableNetworkEgressMetering(enableNetworkEgressMetering)

"Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic."

fn spec.initProvider.resourceUsageExportConfig.withEnableResourceConsumptionMetering

withEnableResourceConsumptionMetering(enableResourceConsumptionMetering)

"Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to true."

obj spec.initProvider.resourceUsageExportConfig.bigqueryDestination

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

fn spec.initProvider.resourceUsageExportConfig.bigqueryDestination.withDatasetId

withDatasetId(datasetId)

"The ID of a BigQuery Dataset. For Example:"

obj spec.initProvider.serviceExternalIpsConfig

"Structure is documented below."

fn spec.initProvider.serviceExternalIpsConfig.withEnabled

withEnabled(enabled)

"Controls whether external ips specified by a service will be allowed. It is enabled by default."

obj spec.initProvider.verticalPodAutoscaling

"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below."

fn spec.initProvider.verticalPodAutoscaling.withEnabled

withEnabled(enabled)

"Enables vertical pod autoscaling"

obj spec.initProvider.workloadIdentityConfig

"Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below."

fn spec.initProvider.workloadIdentityConfig.withWorkloadPool

withWorkloadPool(workloadPool)

"The workload pool to attach all Kubernetes service accounts to."

obj spec.providerConfigRef

"ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured."

fn spec.providerConfigRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerConfigRef.policy

"Policies for referencing."

fn spec.providerConfigRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerConfigRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.providerRef

"ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef"

fn spec.providerRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerRef.policy

"Policies for referencing."

fn spec.providerRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo

"PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource."

fn spec.publishConnectionDetailsTo.withName

withName(name)

"Name is the name of the connection secret."

obj spec.publishConnectionDetailsTo.configRef

"SecretStoreConfigRef specifies which secret store config should be used for this ConnectionSecret."

fn spec.publishConnectionDetailsTo.configRef.withName

withName(name)

"Name of the referenced object."

obj spec.publishConnectionDetailsTo.configRef.policy

"Policies for referencing."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo.metadata

"Metadata is the metadata for connection secret."

fn spec.publishConnectionDetailsTo.metadata.withAnnotations

withAnnotations(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withLabels

withLabels(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withLabelsMixin

withLabelsMixin(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withType

withType(type)

"Type is the SecretType for the connection secret. - Only valid for Kubernetes Secret Stores."

obj spec.writeConnectionSecretToRef

"WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other."

fn spec.writeConnectionSecretToRef.withName

withName(name)

"Name of the secret."

fn spec.writeConnectionSecretToRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."