ClusterState constructor
- Input<
ClusterAddonsConfig?> ? addonsConfig, - Input<
bool?> ? allowNetAdmin, - Input<
ClusterAnonymousAuthenticationConfig?> ? anonymousAuthenticationConfig, - Input<
ClusterAuthenticatorGroupsConfig?> ? authenticatorGroupsConfig, - Input<
ClusterAutopilotClusterPolicyConfig?> ? autopilotClusterPolicyConfig, - Input<
List< ? autopilotPrivilegedAdmissions,String> ?> - Input<
ClusterBinaryAuthorization?> ? binaryAuthorization, - Input<
ClusterClusterAutoscaling?> ? clusterAutoscaling, - Input<
String?> ? clusterIpv4Cidr, - Input<
ClusterClusterTelemetry?> ? clusterTelemetry, - Input<
ClusterConfidentialNodes?> ? confidentialNodes, - Input<
ClusterControlPlaneEndpointsConfig?> ? controlPlaneEndpointsConfig, - Input<
ClusterCostManagementConfig?> ? costManagementConfig, - Input<
ClusterDatabaseEncryption?> ? databaseEncryption, - Input<
String?> ? datapathProvider, - Input<
String?> ? dataplaneOptimizationMode, - Input<
int?> ? defaultMaxPodsPerNode, - Input<
ClusterDefaultSnatStatus?> ? defaultSnatStatus, - Input<
String?> ? deletionPolicy, - Input<
bool?> ? deletionProtection, - Input<
String?> ? description, - Input<
String?> ? desiredEmulatedVersion, - Input<
bool?> ? disableL4LbFirewallReconciliation, - Input<
ClusterDnsConfig?> ? dnsConfig, - Input<
Map< ? effectiveLabels,String, String> ?> - Input<
String?> ? emulatedVersion, - Input<
bool?> ? enableAutopilot, - Input<
bool?> ? enableCiliumClusterwideNetworkPolicy, - Input<
bool?> ? enableFqdnNetworkPolicy, - Input<
bool?> ? enableIntranodeVisibility, - Input<
ClusterEnableK8sBetaApis?> ? enableK8sBetaApis, - Input<
bool?> ? enableKubernetesAlpha, - Input<
bool?> ? enableL4IlbSubsetting, - Input<
bool?> ? enableLegacyAbac, - Input<
bool?> ? enableMultiNetworking, - Input<
bool?> ? enableShieldedNodes, - Input<
bool?> ? enableTpu, - Input<
String?> ? endpoint, - Input<
ClusterEnterpriseConfig?> ? enterpriseConfig, - Input<
ClusterFleet?> ? fleet, - Input<
ClusterGatewayApiConfig?> ? gatewayApiConfig, - Input<
ClusterGkeAutoUpgradeConfig?> ? gkeAutoUpgradeConfig, - Input<
ClusterIdentityServiceConfig?> ? identityServiceConfig, - Input<
bool?> ? ignoreNodeCountChanges, - Input<
String?> ? inTransitEncryptionConfig, - Input<
int?> ? initialNodeCount, - Input<
ClusterIpAllocationPolicy?> ? ipAllocationPolicy, - Input<
String?> ? labelFingerprint, - Input<
String?> ? location, - Input<
ClusterLoggingConfig?> ? loggingConfig, - Input<
String?> ? loggingService, - Input<
ClusterMaintenancePolicy?> ? maintenancePolicy, - Input<
ClusterManagedMachineLearningDiagnosticsConfig?> ? managedMachineLearningDiagnosticsConfig, - Input<
ClusterManagedOpentelemetryConfig?> ? managedOpentelemetryConfig, - Input<
ClusterMasterAuth?> ? masterAuth, - Input<
ClusterMasterAuthorizedNetworksConfig?> ? masterAuthorizedNetworksConfig, - Input<
String?> ? masterVersion, - Input<
ClusterMeshCertificates?> ? meshCertificates, - Input<
String?> ? minMasterVersion, - Input<
ClusterMonitoringConfig?> ? monitoringConfig, - Input<
String?> ? monitoringService, - Input<
String?> ? name, - Input<
String?> ? network, - Input<
ClusterNetworkPerformanceConfig?> ? networkPerformanceConfig, - Input<
ClusterNetworkPolicy?> ? networkPolicy, - Input<
String?> ? networkingMode, - Input<
ClusterNodeConfig?> ? nodeConfig, - Input<
ClusterNodeCreationConfig?> ? nodeCreationConfig, - Input<
List< ? nodeLocations,String> ?> - Input<
ClusterNodePoolAutoConfig?> ? nodePoolAutoConfig, - Input<
ClusterNodePoolDefaults?> ? nodePoolDefaults, - Input<
List< ? nodePools,ClusterNodePool> ?> - Input<
String?> ? nodeVersion, - Input<
ClusterNotificationConfig?> ? notificationConfig, - Input<
String?> ? operation, - Input<
ClusterPodAutoscaling?> ? podAutoscaling, - Input<
ClusterPodSecurityPolicyConfig?> ? podSecurityPolicyConfig, - Input<
ClusterPrivateClusterConfig?> ? privateClusterConfig, - Input<
String?> ? privateIpv6GoogleAccess, - Input<
String?> ? project, - Input<
ClusterProtectConfig?> ? protectConfig, - Input<
Map< ? pulumiLabels,String, String> ?> - Input<
ClusterRbacBindingConfig?> ? rbacBindingConfig, - Input<
ClusterReleaseChannel?> ? releaseChannel, - Input<
bool?> ? removeDefaultNodePool, - Input<
Map< ? resourceLabels,String, String> ?> - Input<
ClusterResourceUsageExportConfig?> ? resourceUsageExportConfig, - Input<
ClusterRollbackSafeUpgrade?> ? rollbackSafeUpgrade, - Input<
ClusterSecretManagerConfig?> ? secretManagerConfig, - Input<
ClusterSecretSyncConfig?> ? secretSyncConfig, - Input<
ClusterSecurityPostureConfig?> ? securityPostureConfig, - Input<
String?> ? selfLink, - Input<
ClusterServiceExternalIpsConfig?> ? serviceExternalIpsConfig, - Input<
String?> ? servicesIpv4Cidr, - Input<
bool?> ? skipNodePoolRefresh, - Input<
String?> ? subnetwork, - Input<
ClusterTpuConfig?> ? tpuConfig, - Input<
String?> ? tpuIpv4CidrBlock, - Input<
ClusterUserManagedKeysConfig?> ? userManagedKeysConfig, - Input<
ClusterVerticalPodAutoscaling?> ? verticalPodAutoscaling, - Input<
ClusterWorkloadAltsConfig?> ? workloadAltsConfig, - Input<
ClusterWorkloadIdentityConfig?> ? workloadIdentityConfig,
Creates a new ClusterState.
addonsConfig The configuration for addons supported by GKE.
allowNetAdmin Enable NET_ADMIN for the cluster. Defaults to
anonymousAuthenticationConfig Configuration for anonymous authentication restrictions. Structure is documented below.
authenticatorGroupsConfig Configuration for the
autopilotClusterPolicyConfig Per-cluster configuration of Autopilot cluster policies in GKE clusters. This field can only be configured in non Autopilot clusters. Structure is documented below.
autopilotPrivilegedAdmissions The customer
binaryAuthorization Configuration options for the Binary
clusterAutoscaling Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to
clusterIpv4Cidr The IP address range of the Kubernetes pods
clusterTelemetry ) Configuration for
confidentialNodes Configuration for Confidential Nodes feature. Structure is documented below documented below.
controlPlaneEndpointsConfig Configuration for all of the cluster's control plane endpoints.
costManagementConfig Configuration for the
databaseEncryption Structure is documented below.
datapathProvider The desired datapath provider for this cluster. This is set to LEGACY_DATAPATH by default, which uses the IPTables-based kube-proxy implementation. Set to ADVANCED_DATAPATH to enable Dataplane v2.
dataplaneOptimizationMode The dataplane optimization mode for the cluster. Possible values: SCALE_OPTIMIZED.
defaultMaxPodsPerNode The default maximum number of pods
defaultSnatStatus GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
deletionPolicy (Optional) Whether Terraform will be prevented from destroying the resource. Defaults to "DELETE".
deletionProtection Whether Terraform will be prevented from
description Description of the cluster.
desiredEmulatedVersion The desired emulated version for the cluster. Used to complete a rollback-safe upgrade after a soak period. Must be in major.minor format (e.g., "1.31"). To complete the upgrade declaratively, set this field to the target minor version. Removing this field from your configuration will not trigger completion.
disableL4LbFirewallReconciliation Disable L4 load balancer VPC firewalls to enable firewall policies.
dnsConfig Configuration for Using Cloud DNS for GKE. Structure is documented below.
effectiveLabels All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
emulatedVersion The current emulated Kubernetes version running on the GKE cluster control plane.
enableAutopilot Enable Autopilot for this cluster. Defaults to false.
enableCiliumClusterwideNetworkPolicy Whether CiliumClusterWideNetworkPolicy is enabled on this cluster. Defaults to false.
enableFqdnNetworkPolicy Whether FQDN Network Policy is enabled on this cluster. Users who enable this feature for existing Standard clusters must restart the GKE Dataplane V2 anetd DaemonSet after enabling it. See the Enable FQDN Network Policy in an existing cluster for more information.
enableIntranodeVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
enableK8sBetaApis Configuration for Kubernetes Beta APIs.
enableKubernetesAlpha Whether to enable Kubernetes Alpha features for
enableL4IlbSubsetting Whether L4ILB Subsetting is enabled for this cluster.
enableLegacyAbac Whether the ABAC authorizer is enabled for this cluster.
enableMultiNetworking Whether multi-networking is enabled for this cluster.
enableShieldedNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to true.
enableTpu Whether to enable Cloud TPU resources in this cluster.
endpoint The IP address of this cluster's Kubernetes master.
enterpriseConfig (DEPRECATED) Configuration for Enterprise edition.(https://cloud.google.com/kubernetes-engine/enterprise/docs/concepts/gke-editions). Structure is documented below. Deprecated as GKE Enterprise features are now available without an Enterprise tier. See https://cloud.google.com/blog/products/containers-kubernetes/gke-gets-new-pricing-and-capabilities-on-10th-birthday for the announcement of this change.
fleet Fleet configuration for the cluster. Structure is documented below.
gatewayApiConfig Configuration for GKE Gateway API controller. Structure is documented below.
gkeAutoUpgradeConfig Configuration options for the auto-upgrade patch type feature, which provide more control over the speed of automatic upgrades of your GKE clusters.
identityServiceConfig . Structure is documented below.
ignoreNodeCountChanges Whether to ignore external changes (drift) to the GKE node count (e.g. from GKE autoscaling). Setting this to true skips querying Compute Engine Instance Group Managers (IGMs) to determine the current node count on read, which can save API quota and speed up plans on large clusters. Unlike Terraform core's lifecycle { ignoreChanges = [nodeCount] }, this allows configuration-driven scaling updates in your HCL while still ignoring runtime autoscaling drift.
inTransitEncryptionConfig Defines the config of in-transit encryption. Valid values are IN_TRANSIT_ENCRYPTION_DISABLED and IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT.
initialNodeCount The number of nodes to create in this
ipAllocationPolicy Configuration of cluster IP allocation for
labelFingerprint The fingerprint of the set of labels for this cluster.
location The location (region or zone) in which the cluster
loggingConfig Logging configuration for the cluster.
loggingService The logging service that the cluster should
maintenancePolicy The maintenance policy to use for the cluster. Structure is
managedMachineLearningDiagnosticsConfig ) Configuration for the GKE Managed ML Diagnostics feature. Structure is documented below.
managedOpentelemetryConfig ) Configuration for the GKE Managed OpenTelemetry feature. Structure is documented below.
masterAuth The authentication information for accessing the
masterAuthorizedNetworksConfig The desired
masterVersion The current version of the master in the cluster. This may
meshCertificates Structure is documented below.
minMasterVersion The minimum version of the master. GKE
monitoringConfig Monitoring configuration for the cluster.
monitoringService The monitoring service that the cluster
name The name of the cluster, unique within the project and
network The name or selfLink of the Google Compute Engine
networkPerformanceConfig Network bandwidth tier configuration.
networkPolicy Configuration options for the
networkingMode Determines whether alias IPs or routes will be used for pod IPs in the cluster.
nodeConfig Parameters used in creating the default node pool.
nodeCreationConfig Configuration for node creation config. Structure is documented below.
nodeLocations The list of zones in which the cluster's nodes
nodePoolAutoConfig Node pool configs that apply to auto-provisioned node pools in
nodePoolDefaults Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. Structure is documented below.
nodePools List of node pools associated with this cluster. Structure is documented below. See gcp.container.NodePool for exact schema.
nodeVersion The Kubernetes version on the nodes. Must either be unset
notificationConfig Configuration for the cluster upgrade notifications feature. Structure is documented below.
operation Optional.
podAutoscaling Configuration for the
podSecurityPolicyConfig ) Configuration for the
privateClusterConfig Configuration for private clusters,
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).
project The ID of the project in which the resource belongs. If it
protectConfig )
pulumiLabels The combination of labels configured directly on the resource and default labels configured on the provider.
rbacBindingConfig RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created. Structure is documented below.
releaseChannel Configuration options for the Release channel
removeDefaultNodePool If true, deletes the default node
resourceLabels The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
resourceUsageExportConfig Configuration for the
rollbackSafeUpgrade Configuration for rollback-safe (two-step) upgrades. Structure is documented below.
secretManagerConfig Configuration for the
secretSyncConfig Configuration for the
securityPostureConfig Enable/Disable Security Posture API features for the cluster. Structure is documented below.
selfLink The server-defined URL for the resource.
serviceExternalIpsConfig Structure is documented below.
servicesIpv4Cidr The IP address range of the Kubernetes services in this
skipNodePoolRefresh Whether to skip refreshing the GKE cluster's inline node pool list during read operations. Setting this to true prevents the provider from querying GKE API for node pools, resolving long plan times on clusters with a large number of node pools. Warning: When enabled, the cluster's nodePool attribute in the Terraform state will remain empty ([]), even if node pools exist externally. This flag cannot be set to true if you define inline nodePool blocks in your configuration; doing so will result in a validation error during plan.
subnetwork The name or selfLink of the Google Compute Engine
tpuConfig TPU configuration for the cluster.
tpuIpv4CidrBlock The IP address range of the Cloud TPUs in this cluster, in
userManagedKeysConfig The custom keys configuration of the cluster Structure is documented below.
verticalPodAutoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it.
workloadAltsConfig )
workloadIdentityConfig Workload Identity allows Kubernetes service accounts to act as a user-managed
Implementation
const ClusterState({
this.addonsConfig,
this.allowNetAdmin,
this.anonymousAuthenticationConfig,
this.authenticatorGroupsConfig,
this.autopilotClusterPolicyConfig,
this.autopilotPrivilegedAdmissions,
this.binaryAuthorization,
this.clusterAutoscaling,
this.clusterIpv4Cidr,
this.clusterTelemetry,
this.confidentialNodes,
this.controlPlaneEndpointsConfig,
this.costManagementConfig,
this.databaseEncryption,
this.datapathProvider,
this.dataplaneOptimizationMode,
this.defaultMaxPodsPerNode,
this.defaultSnatStatus,
this.deletionPolicy,
this.deletionProtection,
this.description,
this.desiredEmulatedVersion,
this.disableL4LbFirewallReconciliation,
this.dnsConfig,
this.effectiveLabels,
this.emulatedVersion,
this.enableAutopilot,
this.enableCiliumClusterwideNetworkPolicy,
this.enableFqdnNetworkPolicy,
this.enableIntranodeVisibility,
this.enableK8sBetaApis,
this.enableKubernetesAlpha,
this.enableL4IlbSubsetting,
this.enableLegacyAbac,
this.enableMultiNetworking,
this.enableShieldedNodes,
this.enableTpu,
this.endpoint,
this.enterpriseConfig,
this.fleet,
this.gatewayApiConfig,
this.gkeAutoUpgradeConfig,
this.identityServiceConfig,
this.ignoreNodeCountChanges,
this.inTransitEncryptionConfig,
this.initialNodeCount,
this.ipAllocationPolicy,
this.labelFingerprint,
this.location,
this.loggingConfig,
this.loggingService,
this.maintenancePolicy,
this.managedMachineLearningDiagnosticsConfig,
this.managedOpentelemetryConfig,
this.masterAuth,
this.masterAuthorizedNetworksConfig,
this.masterVersion,
this.meshCertificates,
this.minMasterVersion,
this.monitoringConfig,
this.monitoringService,
this.name,
this.network,
this.networkPerformanceConfig,
this.networkPolicy,
this.networkingMode,
this.nodeConfig,
this.nodeCreationConfig,
this.nodeLocations,
this.nodePoolAutoConfig,
this.nodePoolDefaults,
this.nodePools,
this.nodeVersion,
this.notificationConfig,
this.operation,
this.podAutoscaling,
this.podSecurityPolicyConfig,
this.privateClusterConfig,
this.privateIpv6GoogleAccess,
this.project,
this.protectConfig,
this.pulumiLabels,
this.rbacBindingConfig,
this.releaseChannel,
this.removeDefaultNodePool,
this.resourceLabels,
this.resourceUsageExportConfig,
this.rollbackSafeUpgrade,
this.secretManagerConfig,
this.secretSyncConfig,
this.securityPostureConfig,
this.selfLink,
this.serviceExternalIpsConfig,
this.servicesIpv4Cidr,
this.skipNodePoolRefresh,
this.subnetwork,
this.tpuConfig,
this.tpuIpv4CidrBlock,
this.userManagedKeysConfig,
this.verticalPodAutoscaling,
this.workloadAltsConfig,
this.workloadIdentityConfig,
});