ClusterArgs class

The set of arguments for Cluster. The set of arguments for Cluster.

Constructors

ClusterArgs({Input<AddonsConfig>? addonsConfig, Input<AuthenticatorGroupsConfig>? authenticatorGroupsConfig, Input<Autopilot>? autopilot, Input<ClusterAutoscaling>? autoscaling, Input<BinaryAuthorization>? binaryAuthorization, Input<String>? clusterIpv4Cidr, Input<List<StatusCondition>>? conditions, Input<ConfidentialNodes>? confidentialNodes, Input<CostManagementConfig>? costManagementConfig, Input<DatabaseEncryption>? databaseEncryption, Input<MaxPodsConstraint>? defaultMaxPodsConstraint, Input<String>? description, Input<K8sBetaAPIConfig>? enableK8sBetaApis, Input<bool>? enableKubernetesAlpha, Input<bool>? enableTpu, Input<Map<String, dynamic>>? enterpriseConfig, Input<String>? etag, Input<Fleet>? fleet, Input<IdentityServiceConfig>? identityServiceConfig, Input<String>? initialClusterVersion, Input<int>? initialNodeCount, Input<List<String>>? instanceGroupUrls, Input<IPAllocationPolicy>? ipAllocationPolicy, Input<LegacyAbac>? legacyAbac, Input<String>? location, Input<List<String>>? locations, Input<LoggingConfig>? loggingConfig, Input<String>? loggingService, Input<MaintenancePolicy>? maintenancePolicy, Input<MasterAuth>? masterAuth, Input<MasterAuthorizedNetworksConfig>? masterAuthorizedNetworksConfig, Input<MeshCertificates>? meshCertificates, Input<MonitoringConfig>? monitoringConfig, Input<String>? monitoringService, Input<String>? name, Input<String>? network, Input<NetworkConfig>? networkConfig, Input<NetworkPolicy>? networkPolicy, Input<NodeConfig>? nodeConfig, Input<NodePoolAutoConfig>? nodePoolAutoConfig, Input<NodePoolDefaults>? nodePoolDefaults, Input<List<NodePoolContainerV1>>? nodePools, Input<NotificationConfig>? notificationConfig, Input<String>? parent, Input<ParentProductConfig>? parentProductConfig, Input<PrivateClusterConfig>? privateClusterConfig, Input<String>? project, Input<ReleaseChannel>? releaseChannel, Input<Map<String, String>>? resourceLabels, Input<ResourceUsageExportConfig>? resourceUsageExportConfig, Input<SecurityPostureConfig>? securityPostureConfig, Input<ShieldedNodes>? shieldedNodes, Input<String>? subnetwork, Input<VerticalPodAutoscaling>? verticalPodAutoscaling, Input<WorkloadIdentityConfig>? workloadIdentityConfig, Input<String>? zone})
Creates a new ClusterArgs. addonsConfig Configurations for the various addons available to run in the cluster. authenticatorGroupsConfig Configuration controlling RBAC group membership information. autopilot Autopilot configuration for the cluster. autoscaling Cluster-level autoscaling configuration. binaryAuthorization Configuration for Binary Authorization. clusterIpv4Cidr The IP address range of the container 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. conditions Which conditions caused the current cluster state. confidentialNodes Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled. costManagementConfig Configuration for the fine-grained cost management feature. databaseEncryption Configuration of etcd encryption. defaultMaxPodsConstraint The default constraint on the maximum number of pods that can be run simultaneously on a node in the node pool of this cluster. Only honored if cluster created with IP Alias support. description An optional description of this cluster. enableK8sBetaApis Beta APIs Config enableKubernetesAlpha Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1alpha1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation. enableTpu Enable the ability to use Cloud TPUs in this cluster. enterpriseConfig GKE Enterprise Configuration. etag This checksum is computed by the server based on the value of cluster fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding. fleet Fleet information for the cluster. identityServiceConfig Configuration for Identity Service component. initialClusterVersion The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - "latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "","-": picks the default Kubernetes version initialNodeCount The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. instanceGroupUrls Deprecated. Use node_pools.instance_group_urls. ipAllocationPolicy Configuration for cluster IP allocation. legacyAbac Configuration for the legacy ABAC authorization mode. location Optional. locations The list of Google Compute Engine zones in which the cluster's nodes should be located. This field provides a default value if NodePool.Locations are not specified during node pool creation. Warning: changing cluster locations will update the NodePool.Locations of all node pools and will result in nodes being added and/or removed. loggingConfig Logging configuration for the cluster. loggingService The logging service the cluster should use to write logs. Currently available options: * logging.googleapis.com/kubernetes - The Cloud Logging service with a Kubernetes-native resource model * logging.googleapis.com - The legacy Cloud Logging service (no longer available as of GKE 1.15). * none - no logs will be exported from the cluster. If left as an empty string,logging.googleapis.com/kubernetes will be used for GKE 1.14+ or logging.googleapis.com for earlier versions. maintenancePolicy Configure the maintenance policy for this cluster. masterAuth The authentication information for accessing the master endpoint. If unspecified, the defaults are used: For clusters before v1.12, if master_auth is unspecified, username will be set to "admin", a random password will be generated, and a client certificate will be issued. masterAuthorizedNetworksConfig The configuration options for master authorized networks feature. meshCertificates Configuration for issuance of mTLS keys and certificates to Kubernetes pods. monitoringConfig Monitoring configuration for the cluster. monitoringService The monitoring service the cluster should use to write metrics. Currently available options: * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service with a Kubernetes-native resource model * monitoring.googleapis.com - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * none - No metrics will be exported from the cluster. If left as an empty string,monitoring.googleapis.com/kubernetes will be used for GKE 1.14+ or monitoring.googleapis.com for earlier versions. name The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. network The name of the Google Compute Engine network to which the cluster is connected. If left unspecified, the default network will be used. networkConfig Configuration for cluster networking. networkPolicy Configuration options for the NetworkPolicy feature. nodeConfig Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "initial_node_count") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see node_pool.config) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead. nodePoolAutoConfig Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. nodePoolDefaults Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object. nodePools The node pools associated with this cluster. This field should not be set if "node_config" or "initial_node_count" are specified. notificationConfig Notification configuration of the cluster. parent The parent (project and location) where the cluster will be created. Specified in the format projects/*/locations/*. parentProductConfig The configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of the GKE cluster and take the ownership of the cluster. privateClusterConfig Configuration for private cluster. project Deprecated. The Google Developers Console project ID or project number. This field has been deprecated and replaced by the parent field. releaseChannel Release channel configuration. If left unspecified on cluster creation and a version is specified, the cluster is enrolled in the most mature release channel where the version is available (first checking STABLE, then REGULAR, and finally RAPID). Otherwise, if no release channel configuration and no version is specified, the cluster is enrolled in the REGULAR channel with its default version. resourceLabels The resource labels for the cluster to use to annotate any related Google Compute Engine resources. resourceUsageExportConfig Configuration for exporting resource usages. Resource usage export is disabled when this config is unspecified. securityPostureConfig Enable/Disable Security Posture API features for the cluster. shieldedNodes Shielded Nodes configuration. subnetwork The name of the Google Compute Engine subnetwork to which the cluster is connected. verticalPodAutoscaling Cluster-level Vertical Pod Autoscaling configuration. workloadIdentityConfig Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. zone Deprecated. The name of the Google Compute Engine zone in which the cluster resides. This field has been deprecated and replaced by the parent field.
const
ClusterArgs.fromMap(Map<String, dynamic> map)
factory

Properties

addonsConfig → Input<AddonsConfig>?
Configurations for the various addons available to run in the cluster.
final
authenticatorGroupsConfig → Input<AuthenticatorGroupsConfig>?
Configuration controlling RBAC group membership information.
final
autopilot → Input<Autopilot>?
Autopilot configuration for the cluster.
final
autoscaling → Input<ClusterAutoscaling>?
Cluster-level autoscaling configuration.
final
binaryAuthorization → Input<BinaryAuthorization>?
Configuration for Binary Authorization.
final
clusterIpv4Cidr → Input<String>?
The IP address range of the container 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.
final
conditions → Input<List<StatusCondition>>?
Which conditions caused the current cluster state.
final
confidentialNodes → Input<ConfidentialNodes>?
Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled.
final
costManagementConfig → Input<CostManagementConfig>?
Configuration for the fine-grained cost management feature.
final
databaseEncryption → Input<DatabaseEncryption>?
Configuration of etcd encryption.
final
defaultMaxPodsConstraint → Input<MaxPodsConstraint>?
The default constraint on the maximum number of pods that can be run simultaneously on a node in the node pool of this cluster. Only honored if cluster created with IP Alias support.
final
description → Input<String>?
An optional description of this cluster.
final
enableK8sBetaApis → Input<K8sBetaAPIConfig>?
Beta APIs Config
final
enableKubernetesAlpha → Input<bool>?
Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1alpha1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation.
final
enableTpu → Input<bool>?
Enable the ability to use Cloud TPUs in this cluster.
final
enterpriseConfig → Input<Map<String, dynamic>>?
GKE Enterprise Configuration.
final
etag → Input<String>?
This checksum is computed by the server based on the value of cluster fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
final
fleet → Input<Fleet>?
Fleet information for the cluster.
final
hashCode → int
The hash code for this object.
no setterinherited
identityServiceConfig → Input<IdentityServiceConfig>?
Configuration for Identity Service component.
final
initialClusterVersion → Input<String>?
The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - "latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "","-": picks the default Kubernetes version
final
initialNodeCount → Input<int>?
The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead.
final
instanceGroupUrls → Input<List<String>>?
Deprecated. Use node_pools.instance_group_urls.
final
ipAllocationPolicy → Input<IPAllocationPolicy>?
Configuration for cluster IP allocation.
final
legacyAbac → Input<LegacyAbac>?
Configuration for the legacy ABAC authorization mode.
final
location → Input<String>?
final
locations → Input<List<String>>?
The list of Google Compute Engine zones in which the cluster's nodes should be located. This field provides a default value if NodePool.Locations are not specified during node pool creation. Warning: changing cluster locations will update the NodePool.Locations of all node pools and will result in nodes being added and/or removed.
final
loggingConfig → Input<LoggingConfig>?
Logging configuration for the cluster.
final
loggingService → Input<String>?
The logging service the cluster should use to write logs. Currently available options: * logging.googleapis.com/kubernetes - The Cloud Logging service with a Kubernetes-native resource model * logging.googleapis.com - The legacy Cloud Logging service (no longer available as of GKE 1.15). * none - no logs will be exported from the cluster. If left as an empty string,logging.googleapis.com/kubernetes will be used for GKE 1.14+ or logging.googleapis.com for earlier versions.
final
maintenancePolicy → Input<MaintenancePolicy>?
Configure the maintenance policy for this cluster.
final
masterAuth → Input<MasterAuth>?
The authentication information for accessing the master endpoint. If unspecified, the defaults are used: For clusters before v1.12, if master_auth is unspecified, username will be set to "admin", a random password will be generated, and a client certificate will be issued.
final
masterAuthorizedNetworksConfig → Input<MasterAuthorizedNetworksConfig>?
The configuration options for master authorized networks feature.
final
meshCertificates → Input<MeshCertificates>?
Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
final
monitoringConfig → Input<MonitoringConfig>?
Monitoring configuration for the cluster.
final
monitoringService → Input<String>?
The monitoring service the cluster should use to write metrics. Currently available options: * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service with a Kubernetes-native resource model * monitoring.googleapis.com - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * none - No metrics will be exported from the cluster. If left as an empty string,monitoring.googleapis.com/kubernetes will be used for GKE 1.14+ or monitoring.googleapis.com for earlier versions.
final
name → Input<String>?
The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
final
network → Input<String>?
The name of the Google Compute Engine network to which the cluster is connected. If left unspecified, the default network will be used.
final
networkConfig → Input<NetworkConfig>?
Configuration for cluster networking.
final
networkPolicy → Input<NetworkPolicy>?
Configuration options for the NetworkPolicy feature.
final
nodeConfig → Input<NodeConfig>?
Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "initial_node_count") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see node_pool.config) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead.
final
nodePoolAutoConfig → Input<NodePoolAutoConfig>?
Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.
final
nodePoolDefaults → Input<NodePoolDefaults>?
Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
final
nodePools → Input<List<NodePoolContainerV1>>?
The node pools associated with this cluster. This field should not be set if "node_config" or "initial_node_count" are specified.
final
notificationConfig → Input<NotificationConfig>?
Notification configuration of the cluster.
final
parent → Input<String>?
The parent (project and location) where the cluster will be created. Specified in the format projects/*/locations/*.
final
parentProductConfig → Input<ParentProductConfig>?
The configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of the GKE cluster and take the ownership of the cluster.
final
privateClusterConfig → Input<PrivateClusterConfig>?
Configuration for private cluster.
final
project → Input<String>?
Deprecated. The Google Developers Console project ID or project number. This field has been deprecated and replaced by the parent field.
final
releaseChannel → Input<ReleaseChannel>?
Release channel configuration. If left unspecified on cluster creation and a version is specified, the cluster is enrolled in the most mature release channel where the version is available (first checking STABLE, then REGULAR, and finally RAPID). Otherwise, if no release channel configuration and no version is specified, the cluster is enrolled in the REGULAR channel with its default version.
final
resourceLabels → Input<Map<String, String>>?
The resource labels for the cluster to use to annotate any related Google Compute Engine resources.
final
resourceUsageExportConfig → Input<ResourceUsageExportConfig>?
Configuration for exporting resource usages. Resource usage export is disabled when this config is unspecified.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
securityPostureConfig → Input<SecurityPostureConfig>?
Enable/Disable Security Posture API features for the cluster.
final
shieldedNodes → Input<ShieldedNodes>?
Shielded Nodes configuration.
final
subnetwork → Input<String>?
The name of the Google Compute Engine subnetwork to which the cluster is connected.
final
verticalPodAutoscaling → Input<VerticalPodAutoscaling>?
Cluster-level Vertical Pod Autoscaling configuration.
final
workloadIdentityConfig → Input<WorkloadIdentityConfig>?
Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.
final
zone → Input<String>?
Deprecated. The name of the Google Compute Engine zone in which the cluster resides. This field has been deprecated and replaced by the parent field.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toMap() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited