Class: Google::Apis::ContainerV1beta1::Cluster

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb

Overview

A Google Kubernetes Engine cluster.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Cluster

Returns a new instance of Cluster.



1970
1971
1972
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1970

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#addons_configGoogle::Apis::ContainerV1beta1::AddonsConfig

Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. Corresponds to the JSON property addonsConfig



1357
1358
1359
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1357

def addons_config
  @addons_config
end

#alpha_cluster_feature_gatesArray<String>

The list of user specified Kubernetes feature gates. Each string represents the activation status of a feature gate (e.g. "featureX=true" or "featureX= false") Corresponds to the JSON property alphaClusterFeatureGates

Returns:

  • (Array<String>)


1364
1365
1366
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1364

def alpha_cluster_feature_gates
  @alpha_cluster_feature_gates
end

#anonymous_authentication_configGoogle::Apis::ContainerV1beta1::AnonymousAuthenticationConfig

AnonymousAuthenticationConfig defines the settings needed to limit endpoints that allow anonymous authentication. Corresponds to the JSON property anonymousAuthenticationConfig



1370
1371
1372
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1370

def anonymous_authentication_config
  @anonymous_authentication_config
end

#authenticator_groups_configGoogle::Apis::ContainerV1beta1::AuthenticatorGroupsConfig

Configuration for returning group information from authenticators. Corresponds to the JSON property authenticatorGroupsConfig



1375
1376
1377
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1375

def authenticator_groups_config
  @authenticator_groups_config
end

#autopilotGoogle::Apis::ContainerV1beta1::Autopilot

Autopilot is the configuration for Autopilot settings on the cluster. Corresponds to the JSON property autopilot



1380
1381
1382
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1380

def autopilot
  @autopilot
end

#autoscalingGoogle::Apis::ContainerV1beta1::ClusterAutoscaling

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



1387
1388
1389
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1387

def autoscaling
  @autoscaling
end

#binary_authorizationGoogle::Apis::ContainerV1beta1::BinaryAuthorization

Configuration for Binary Authorization. Corresponds to the JSON property binaryAuthorization



1392
1393
1394
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1392

def binary_authorization
  @binary_authorization
end

#cluster_ipv4_cidrString

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. Corresponds to the JSON property clusterIpv4Cidr

Returns:

  • (String)


1400
1401
1402
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1400

def cluster_ipv4_cidr
  @cluster_ipv4_cidr
end

#cluster_telemetryGoogle::Apis::ContainerV1beta1::ClusterTelemetry

Telemetry integration for the cluster. Corresponds to the JSON property clusterTelemetry



1405
1406
1407
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1405

def cluster_telemetry
  @cluster_telemetry
end

#compliance_posture_configGoogle::Apis::ContainerV1beta1::CompliancePostureConfig

Deprecated: Compliance Posture is no longer supported. For more details, see https://cloud.google.com/kubernetes-engine/docs/deprecations/posture- management-deprecation. CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. Corresponds to the JSON property compliancePostureConfig



1413
1414
1415
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1413

def compliance_posture_config
  @compliance_posture_config
end

#conditionsArray<Google::Apis::ContainerV1beta1::StatusCondition>

Which conditions caused the current cluster state. Corresponds to the JSON property conditions



1418
1419
1420
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1418

def conditions
  @conditions
end

#confidential_nodesGoogle::Apis::ContainerV1beta1::ConfidentialNodes

ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs. Corresponds to the JSON property confidentialNodes



1424
1425
1426
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1424

def confidential_nodes
  @confidential_nodes
end

#control_plane_egressGoogle::Apis::ContainerV1beta1::ControlPlaneEgress

ControlPlaneEgress defines the settings needed to enable control plane egress control. Corresponds to the JSON property controlPlaneEgress



1430
1431
1432
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1430

def control_plane_egress
  @control_plane_egress
end

#control_plane_endpoints_configGoogle::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig

Configuration for all of the cluster's control plane endpoints. Corresponds to the JSON property controlPlaneEndpointsConfig



1435
1436
1437
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1435

def control_plane_endpoints_config
  @control_plane_endpoints_config
end

#cost_management_configGoogle::Apis::ContainerV1beta1::CostManagementConfig

Configuration for fine-grained cost management feature. Corresponds to the JSON property costManagementConfig



1440
1441
1442
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1440

def cost_management_config
  @cost_management_config
end

#create_timeString

Output only. The time the cluster was created, in RFC3339 text format. Corresponds to the JSON property createTime

Returns:

  • (String)


1446
1447
1448
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1446

def create_time
  @create_time
end

#current_emulated_versionString

Output only. The current emulated version of the master endpoint. The version is in minor version format, e.g. 1.30. No value or empty string means the cluster has no emulated version. Corresponds to the JSON property currentEmulatedVersion

Returns:

  • (String)


1453
1454
1455
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1453

def current_emulated_version
  @current_emulated_version
end

#current_master_versionString

Output only. The current software version of the master endpoint. Corresponds to the JSON property currentMasterVersion

Returns:

  • (String)


1458
1459
1460
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1458

def current_master_version
  @current_master_version
end

#current_node_countFixnum

Output only. The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information. Corresponds to the JSON property currentNodeCount

Returns:

  • (Fixnum)


1464
1465
1466
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1464

def current_node_count
  @current_node_count
end

#current_node_versionString

Output only. Deprecated, use NodePool.version instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. Corresponds to the JSON property currentNodeVersion

Returns:

  • (String)


1473
1474
1475
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1473

def current_node_version
  @current_node_version
end

#database_encryptionGoogle::Apis::ContainerV1beta1::DatabaseEncryption

Configuration of etcd encryption. Corresponds to the JSON property databaseEncryption



1478
1479
1480
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1478

def database_encryption
  @database_encryption
end

#default_max_pods_constraintGoogle::Apis::ContainerV1beta1::MaxPodsConstraint

Constraints applied to pods. Corresponds to the JSON property defaultMaxPodsConstraint



1483
1484
1485
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1483

def default_max_pods_constraint
  @default_max_pods_constraint
end

#descriptionString

An optional description of this cluster. Corresponds to the JSON property description

Returns:

  • (String)


1488
1489
1490
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1488

def description
  @description
end

#enable_k8s_beta_apisGoogle::Apis::ContainerV1beta1::K8sBetaApiConfig

Kubernetes open source beta apis enabled on the cluster. Corresponds to the JSON property enableK8sBetaApis



1493
1494
1495
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1493

def enable_k8s_beta_apis
  @enable_k8s_beta_apis
end

#enable_kubernetes_alphaBoolean Also known as: enable_kubernetes_alpha?

Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1beta1) 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. Corresponds to the JSON property enableKubernetesAlpha

Returns:

  • (Boolean)


1502
1503
1504
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1502

def enable_kubernetes_alpha
  @enable_kubernetes_alpha
end

#enable_tpuBoolean Also known as: enable_tpu?

Enable the ability to use Cloud TPUs in this cluster. This field is deprecated, use tpu_config.enabled instead. This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. Corresponds to the JSON property enableTpu

Returns:

  • (Boolean)


1510
1511
1512
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1510

def enable_tpu
  @enable_tpu
end

#endpointString

Output only. The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at https://username:password@endpoint/. See the masterAuth property of this resource for username and password information. Corresponds to the JSON property endpoint

Returns:

  • (String)


1519
1520
1521
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1519

def endpoint
  @endpoint
end

#enterprise_configGoogle::Apis::ContainerV1beta1::EnterpriseConfig

EnterpriseConfig is the cluster enterprise configuration. Deprecated: GKE Enterprise features are now available without an Enterprise tier. Corresponds to the JSON property enterpriseConfig



1525
1526
1527
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1525

def enterprise_config
  @enterprise_config
end

#etagString

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. Corresponds to the JSON property etag

Returns:

  • (String)


1532
1533
1534
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1532

def etag
  @etag
end

#expire_timeString

Output only. The time the cluster will be automatically deleted in RFC3339 text format. Corresponds to the JSON property expireTime

Returns:

  • (String)


1538
1539
1540
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1538

def expire_time
  @expire_time
end

#fleetGoogle::Apis::ContainerV1beta1::Fleet

Fleet is the fleet configuration for the cluster. Corresponds to the JSON property fleet



1543
1544
1545
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1543

def fleet
  @fleet
end

#gke_auto_upgrade_configGoogle::Apis::ContainerV1beta1::GkeAutoUpgradeConfig

GkeAutoUpgradeConfig is the configuration for GKE auto upgrades. Corresponds to the JSON property gkeAutoUpgradeConfig



1548
1549
1550
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1548

def gke_auto_upgrade_config
  @gke_auto_upgrade_config
end

#idString

Output only. Unique id for the cluster. Corresponds to the JSON property id

Returns:

  • (String)


1553
1554
1555
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1553

def id
  @id
end

#identity_service_configGoogle::Apis::ContainerV1beta1::IdentityServiceConfig

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



1559
1560
1561
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1559

def identity_service_config
  @identity_service_config
end

#initial_cluster_versionString

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 Corresponds to the JSON property initialClusterVersion

Returns:

  • (String)


1572
1573
1574
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1572

def initial_cluster_version
  @initial_cluster_version
end

#initial_node_countFixnum

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. Corresponds to the JSON property initialNodeCount

Returns:

  • (Fixnum)


1584
1585
1586
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1584

def initial_node_count
  @initial_node_count
end

#instance_group_urlsArray<String>

Output only. Deprecated. Use node_pools.instance_group_urls. Corresponds to the JSON property instanceGroupUrls

Returns:

  • (Array<String>)


1589
1590
1591
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1589

def instance_group_urls
  @instance_group_urls
end

#ip_allocation_policyGoogle::Apis::ContainerV1beta1::IpAllocationPolicy

Configuration for controlling how IPs are allocated in the cluster. Corresponds to the JSON property ipAllocationPolicy



1594
1595
1596
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1594

def ip_allocation_policy
  @ip_allocation_policy
end

#label_fingerprintString

The fingerprint of the set of labels for this cluster. Corresponds to the JSON property labelFingerprint

Returns:

  • (String)


1599
1600
1601
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1599

def label_fingerprint
  @label_fingerprint
end

#legacy_abacGoogle::Apis::ContainerV1beta1::LegacyAbac

Configuration for the legacy Attribute Based Access Control authorization mode. Corresponds to the JSON property legacyAbac



1604
1605
1606
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1604

def legacy_abac
  @legacy_abac
end

#locationString

Output only. The name of the Google Compute Engine zone or region in which the cluster resides. Corresponds to the JSON property location

Returns:

  • (String)


1612
1613
1614
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1612

def location
  @location
end

#locationsArray<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. Corresponds to the JSON property locations

Returns:

  • (Array<String>)


1625
1626
1627
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1625

def locations
  @locations
end

#logging_configGoogle::Apis::ContainerV1beta1::LoggingConfig

LoggingConfig is cluster logging configuration. Corresponds to the JSON property loggingConfig



1630
1631
1632
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1630

def logging_config
  @logging_config
end

#logging_serviceString

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. Corresponds to the JSON property loggingService

Returns:

  • (String)


1641
1642
1643
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1641

def logging_service
  @logging_service
end

#maintenance_policyGoogle::Apis::ContainerV1beta1::MaintenancePolicy

MaintenancePolicy defines the maintenance policy to be used for the cluster. Corresponds to the JSON property maintenancePolicy



1646
1647
1648
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1646

def maintenance_policy
  @maintenance_policy
end

#managed_machine_learning_diagnostics_configGoogle::Apis::ContainerV1beta1::ManagedMachineLearningDiagnosticsConfig

ManagedMachineLearningDiagnosticsConfig is the configuration for the GKE Managed Machine Learning Diagnostics pipeline. Corresponds to the JSON property managedMachineLearningDiagnosticsConfig



1652
1653
1654
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1652

def managed_machine_learning_diagnostics_config
  @managed_machine_learning_diagnostics_config
end

#managed_opentelemetry_configGoogle::Apis::ContainerV1beta1::ManagedOpenTelemetryConfig

ManagedOpenTelemetryConfig is the configuration for the GKE Managed OpenTelemetry pipeline. Corresponds to the JSON property managedOpentelemetryConfig



1658
1659
1660
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1658

def managed_opentelemetry_config
  @managed_opentelemetry_config
end

#masterGoogle::Apis::ContainerV1beta1::Master

Master is the configuration for components on master. Corresponds to the JSON property master



1663
1664
1665
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1663

def master
  @master
end

#master_authGoogle::Apis::ContainerV1beta1::MasterAuth

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



1669
1670
1671
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1669

def master_auth
  @master_auth
end

#master_authorized_networks_configGoogle::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig

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



1677
1678
1679
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1677

def master_authorized_networks_config
  @master_authorized_networks_config
end

#master_ipv4_cidr_blockString

The IP prefix in CIDR notation to use for the hosted master network. This prefix will be used for assigning private IP addresses to the master or set of masters, as well as the ILB VIP. This field is deprecated, use private_cluster_config.master_ipv4_cidr_block instead. Corresponds to the JSON property masterIpv4CidrBlock

Returns:

  • (String)


1685
1686
1687
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1685

def master_ipv4_cidr_block
  @master_ipv4_cidr_block
end

#mesh_certificatesGoogle::Apis::ContainerV1beta1::MeshCertificates

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property meshCertificates



1690
1691
1692
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1690

def mesh_certificates
  @mesh_certificates
end

#monitoring_configGoogle::Apis::ContainerV1beta1::MonitoringConfig

MonitoringConfig is cluster monitoring configuration. Corresponds to the JSON property monitoringConfig



1695
1696
1697
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1695

def monitoring_config
  @monitoring_config
end

#monitoring_serviceString

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. Corresponds to the JSON property monitoringService

Returns:

  • (String)


1706
1707
1708
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1706

def monitoring_service
  @monitoring_service
end

#nameString

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. Corresponds to the JSON property name

Returns:

  • (String)


1714
1715
1716
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1714

def name
  @name
end

#networkString

The name of the Google Compute Engine network to which the cluster is connected. If left unspecified, the default network will be used. On output this shows the network ID instead of the name. Corresponds to the JSON property network

Returns:

  • (String)


1722
1723
1724
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1722

def network
  @network
end

#network_configGoogle::Apis::ContainerV1beta1::NetworkConfig

NetworkConfig reports the relative names of network & subnetwork. Corresponds to the JSON property networkConfig



1727
1728
1729
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1727

def network_config
  @network_config
end

#network_policyGoogle::Apis::ContainerV1beta1::NetworkPolicy

Configuration options for the NetworkPolicy feature. https://kubernetes.io/ docs/concepts/services-networking/networkpolicies/ Corresponds to the JSON property networkPolicy



1733
1734
1735
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1733

def network_policy
  @network_policy
end

#node_configGoogle::Apis::ContainerV1beta1::NodeConfig

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



1740
1741
1742
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1740

def node_config
  @node_config
end

#node_creation_configGoogle::Apis::ContainerV1beta1::NodeCreationConfig

NodeCreationConfig defines the settings of node creation mode. Corresponds to the JSON property nodeCreationConfig



1745
1746
1747
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1745

def node_creation_config
  @node_creation_config
end

#node_ipv4_cidr_sizeFixnum

Output only. The size of the address space on each node for hosting containers. This is provisioned from within the container_ipv4_cidr range. This field will only be set when cluster is in route-based network mode. Corresponds to the JSON property nodeIpv4CidrSize

Returns:

  • (Fixnum)


1752
1753
1754
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1752

def node_ipv4_cidr_size
  @node_ipv4_cidr_size
end

#node_pool_auto_configGoogle::Apis::ContainerV1beta1::NodePoolAutoConfig

node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters Corresponds to the JSON property nodePoolAutoConfig



1758
1759
1760
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1758

def node_pool_auto_config
  @node_pool_auto_config
end

#node_pool_defaultsGoogle::Apis::ContainerV1beta1::NodePoolDefaults

Subset of Nodepool message that has defaults. Corresponds to the JSON property nodePoolDefaults



1763
1764
1765
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1763

def node_pool_defaults
  @node_pool_defaults
end

#node_pool_upgrade_concurrency_configGoogle::Apis::ContainerV1beta1::NodePoolUpgradeConcurrencyConfig

NodePoolUpgradeConcurrencyConfig is the configuration for the node pool auto upgrade concurrency. Corresponds to the JSON property nodePoolUpgradeConcurrencyConfig



1769
1770
1771
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1769

def node_pool_upgrade_concurrency_config
  @node_pool_upgrade_concurrency_config
end

#node_poolsArray<Google::Apis::ContainerV1beta1::NodePool>

The node pools associated with this cluster. This field should not be set if " node_config" or "initial_node_count" are specified. Corresponds to the JSON property nodePools



1775
1776
1777
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1775

def node_pools
  @node_pools
end

#notification_configGoogle::Apis::ContainerV1beta1::NotificationConfig

NotificationConfig is the configuration of notifications. Corresponds to the JSON property notificationConfig



1780
1781
1782
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1780

def notification_config
  @notification_config
end

#parent_product_configGoogle::Apis::ContainerV1beta1::ParentProductConfig

ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster. Corresponds to the JSON property parentProductConfig



1787
1788
1789
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1787

def parent_product_config
  @parent_product_config
end

#pod_autoscalingGoogle::Apis::ContainerV1beta1::PodAutoscaling

PodAutoscaling is used for configuration of parameters for workload autoscaling. Corresponds to the JSON property podAutoscaling



1793
1794
1795
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1793

def pod_autoscaling
  @pod_autoscaling
end

#pod_security_policy_configGoogle::Apis::ContainerV1beta1::PodSecurityPolicyConfig

Configuration for the PodSecurityPolicy feature. Corresponds to the JSON property podSecurityPolicyConfig



1798
1799
1800
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1798

def pod_security_policy_config
  @pod_security_policy_config
end

#private_clusterBoolean Also known as: private_cluster?

If this is a private cluster setup. Private clusters are clusters that, by default have no external IP addresses on the nodes and where nodes and the master communicate over private IP addresses. This field is deprecated, use private_cluster_config.enable_private_nodes instead. Corresponds to the JSON property privateCluster

Returns:

  • (Boolean)


1806
1807
1808
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1806

def private_cluster
  @private_cluster
end

#private_cluster_configGoogle::Apis::ContainerV1beta1::PrivateClusterConfig

Configuration options for private clusters. Corresponds to the JSON property privateClusterConfig



1812
1813
1814
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1812

def private_cluster_config
  @private_cluster_config
end

#protect_configGoogle::Apis::ContainerV1beta1::ProtectConfig

ProtectConfig defines the flags needed to enable/disable features for the Protect API. Corresponds to the JSON property protectConfig



1818
1819
1820
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1818

def protect_config
  @protect_config
end

#rbac_binding_configGoogle::Apis::ContainerV1beta1::RbacBindingConfig

RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created. Corresponds to the JSON property rbacBindingConfig



1824
1825
1826
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1824

def rbac_binding_config
  @rbac_binding_config
end

#release_channelGoogle::Apis::ContainerV1beta1::ReleaseChannel

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



1832
1833
1834
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1832

def release_channel
  @release_channel
end

#resource_labelsHash<String,String>

The resource labels for the cluster to use to annotate any related Google Compute Engine resources. Corresponds to the JSON property resourceLabels

Returns:

  • (Hash<String,String>)


1838
1839
1840
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1838

def resource_labels
  @resource_labels
end

#resource_usage_export_configGoogle::Apis::ContainerV1beta1::ResourceUsageExportConfig

Configuration for exporting cluster resource usages. Corresponds to the JSON property resourceUsageExportConfig



1843
1844
1845
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1843

def resource_usage_export_config
  @resource_usage_export_config
end

#rollback_safe_upgradeGoogle::Apis::ContainerV1beta1::RollbackSafeUpgrade

RollbackSafeUpgrade is the configuration for the rollback safe upgrade. Corresponds to the JSON property rollbackSafeUpgrade



1848
1849
1850
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1848

def rollback_safe_upgrade
  @rollback_safe_upgrade
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


1853
1854
1855
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1853

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


1859
1860
1861
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1859

def satisfies_pzs
  @satisfies_pzs
end

#schedule_upgrade_configGoogle::Apis::ContainerV1beta1::ScheduleUpgradeConfig

Configuration for scheduled upgrades on the cluster. Corresponds to the JSON property scheduleUpgradeConfig



1865
1866
1867
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1865

def schedule_upgrade_config
  @schedule_upgrade_config
end

#secret_manager_configGoogle::Apis::ContainerV1beta1::SecretManagerConfig

SecretManagerConfig is config for secret manager enablement. Corresponds to the JSON property secretManagerConfig



1870
1871
1872
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1870

def secret_manager_config
  @secret_manager_config
end

#secret_sync_configGoogle::Apis::ContainerV1beta1::SecretSyncConfig

Configuration for sync Secret Manager secrets as k8s secrets. Corresponds to the JSON property secretSyncConfig



1875
1876
1877
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1875

def secret_sync_config
  @secret_sync_config
end

#security_posture_configGoogle::Apis::ContainerV1beta1::SecurityPostureConfig

SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API. Corresponds to the JSON property securityPostureConfig



1881
1882
1883
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1881

def security_posture_config
  @security_posture_config
end

Output only. Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


1886
1887
1888
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1886

def self_link
  @self_link
end

#services_ipv4_cidrString

Output only. The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g. 1.2.3.4/29). Service addresses are typically put in the last /16 from the container CIDR. Corresponds to the JSON property servicesIpv4Cidr

Returns:

  • (String)


1894
1895
1896
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1894

def services_ipv4_cidr
  @services_ipv4_cidr
end

#shielded_nodesGoogle::Apis::ContainerV1beta1::ShieldedNodes

Configuration of Shielded Nodes feature. Corresponds to the JSON property shieldedNodes



1899
1900
1901
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1899

def shielded_nodes
  @shielded_nodes
end

#statusString

Output only. The current status of this cluster. Corresponds to the JSON property status

Returns:

  • (String)


1904
1905
1906
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1904

def status
  @status
end

#status_messageString

Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. Corresponds to the JSON property statusMessage

Returns:

  • (String)


1910
1911
1912
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1910

def status_message
  @status_message
end

#subnetworkString

The name of the Google Compute Engine subnetwork to which the cluster is connected. On output this shows the subnetwork ID instead of the name. Corresponds to the JSON property subnetwork

Returns:

  • (String)


1917
1918
1919
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1917

def subnetwork
  @subnetwork
end

#tpu_configGoogle::Apis::ContainerV1beta1::TpuConfig

Configuration for Cloud TPU. This message is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. Corresponds to the JSON property tpuConfig



1923
1924
1925
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1923

def tpu_config
  @tpu_config
end

#tpu_ipv4_cidr_blockString

Output only. The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g. 1.2.3.4/29). This field is deprecated due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25. Corresponds to the JSON property tpuIpv4CidrBlock

Returns:

  • (String)


1931
1932
1933
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1931

def tpu_ipv4_cidr_block
  @tpu_ipv4_cidr_block
end

#user_managed_keys_configGoogle::Apis::ContainerV1beta1::UserManagedKeysConfig

UserManagedKeysConfig holds the resource address to Keys which are used for signing certs and token that are used for communication within cluster. Corresponds to the JSON property userManagedKeysConfig



1937
1938
1939
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1937

def user_managed_keys_config
  @user_managed_keys_config
end

#vertical_pod_autoscalingGoogle::Apis::ContainerV1beta1::VerticalPodAutoscaling

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



1944
1945
1946
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1944

def vertical_pod_autoscaling
  @vertical_pod_autoscaling
end

#workload_alts_configGoogle::Apis::ContainerV1beta1::WorkloadAltsConfig

Configuration for direct-path (via ALTS) with workload identity. This feature is not officially supported for external customers in Kubernetes Engine when using Workload Identity. Corresponds to the JSON property workloadAltsConfig



1951
1952
1953
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1951

def workload_alts_config
  @workload_alts_config
end

#workload_certificatesGoogle::Apis::ContainerV1beta1::WorkloadCertificates

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property workloadCertificates



1956
1957
1958
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1956

def workload_certificates
  @workload_certificates
end

#workload_identity_configGoogle::Apis::ContainerV1beta1::WorkloadIdentityConfig

Configuration for the use of Kubernetes Service Accounts in IAM policies. Corresponds to the JSON property workloadIdentityConfig



1961
1962
1963
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1961

def workload_identity_config
  @workload_identity_config
end

#zoneString

Output only. The name of the Google Compute Engine zone in which the cluster resides. This field is deprecated, use location instead. Corresponds to the JSON property zone

Returns:

  • (String)


1968
1969
1970
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1968

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1975

def update!(**args)
  @addons_config = args[:addons_config] if args.key?(:addons_config)
  @alpha_cluster_feature_gates = args[:alpha_cluster_feature_gates] if args.key?(:alpha_cluster_feature_gates)
  @anonymous_authentication_config = args[:anonymous_authentication_config] if args.key?(:anonymous_authentication_config)
  @authenticator_groups_config = args[:authenticator_groups_config] if args.key?(:authenticator_groups_config)
  @autopilot = args[:autopilot] if args.key?(:autopilot)
  @autoscaling = args[:autoscaling] if args.key?(:autoscaling)
  @binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
  @cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
  @cluster_telemetry = args[:cluster_telemetry] if args.key?(:cluster_telemetry)
  @compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
  @conditions = args[:conditions] if args.key?(:conditions)
  @confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
  @control_plane_egress = args[:control_plane_egress] if args.key?(:control_plane_egress)
  @control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
  @cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
  @create_time = args[:create_time] if args.key?(:create_time)
  @current_emulated_version = args[:current_emulated_version] if args.key?(:current_emulated_version)
  @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
  @current_node_count = args[:current_node_count] if args.key?(:current_node_count)
  @current_node_version = args[:current_node_version] if args.key?(:current_node_version)
  @database_encryption = args[:database_encryption] if args.key?(:database_encryption)
  @default_max_pods_constraint = args[:default_max_pods_constraint] if args.key?(:default_max_pods_constraint)
  @description = args[:description] if args.key?(:description)
  @enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
  @enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
  @enable_tpu = args[:enable_tpu] if args.key?(:enable_tpu)
  @endpoint = args[:endpoint] if args.key?(:endpoint)
  @enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
  @etag = args[:etag] if args.key?(:etag)
  @expire_time = args[:expire_time] if args.key?(:expire_time)
  @fleet = args[:fleet] if args.key?(:fleet)
  @gke_auto_upgrade_config = args[:gke_auto_upgrade_config] if args.key?(:gke_auto_upgrade_config)
  @id = args[:id] if args.key?(:id)
  @identity_service_config = args[:identity_service_config] if args.key?(:identity_service_config)
  @initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
  @initial_node_count = args[:initial_node_count] if args.key?(:initial_node_count)
  @instance_group_urls = args[:instance_group_urls] if args.key?(:instance_group_urls)
  @ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy)
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
  @legacy_abac = args[:legacy_abac] if args.key?(:legacy_abac)
  @location = args[:location] if args.key?(:location)
  @locations = args[:locations] if args.key?(:locations)
  @logging_config = args[:logging_config] if args.key?(:logging_config)
  @logging_service = args[:logging_service] if args.key?(:logging_service)
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
  @managed_machine_learning_diagnostics_config = args[:managed_machine_learning_diagnostics_config] if args.key?(:managed_machine_learning_diagnostics_config)
  @managed_opentelemetry_config = args[:managed_opentelemetry_config] if args.key?(:managed_opentelemetry_config)
  @master = args[:master] if args.key?(:master)
  @master_auth = args[:master_auth] if args.key?(:master_auth)
  @master_authorized_networks_config = args[:master_authorized_networks_config] if args.key?(:master_authorized_networks_config)
  @master_ipv4_cidr_block = args[:master_ipv4_cidr_block] if args.key?(:master_ipv4_cidr_block)
  @mesh_certificates = args[:mesh_certificates] if args.key?(:mesh_certificates)
  @monitoring_config = args[:monitoring_config] if args.key?(:monitoring_config)
  @monitoring_service = args[:monitoring_service] if args.key?(:monitoring_service)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @network_config = args[:network_config] if args.key?(:network_config)
  @network_policy = args[:network_policy] if args.key?(:network_policy)
  @node_config = args[:node_config] if args.key?(:node_config)
  @node_creation_config = args[:node_creation_config] if args.key?(:node_creation_config)
  @node_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
  @node_pool_auto_config = args[:node_pool_auto_config] if args.key?(:node_pool_auto_config)
  @node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
  @node_pool_upgrade_concurrency_config = args[:node_pool_upgrade_concurrency_config] if args.key?(:node_pool_upgrade_concurrency_config)
  @node_pools = args[:node_pools] if args.key?(:node_pools)
  @notification_config = args[:notification_config] if args.key?(:notification_config)
  @parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
  @pod_autoscaling = args[:pod_autoscaling] if args.key?(:pod_autoscaling)
  @pod_security_policy_config = args[:pod_security_policy_config] if args.key?(:pod_security_policy_config)
  @private_cluster = args[:private_cluster] if args.key?(:private_cluster)
  @private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
  @protect_config = args[:protect_config] if args.key?(:protect_config)
  @rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
  @release_channel = args[:release_channel] if args.key?(:release_channel)
  @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
  @resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
  @rollback_safe_upgrade = args[:rollback_safe_upgrade] if args.key?(:rollback_safe_upgrade)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @schedule_upgrade_config = args[:schedule_upgrade_config] if args.key?(:schedule_upgrade_config)
  @secret_manager_config = args[:secret_manager_config] if args.key?(:secret_manager_config)
  @secret_sync_config = args[:secret_sync_config] if args.key?(:secret_sync_config)
  @security_posture_config = args[:security_posture_config] if args.key?(:security_posture_config)
  @self_link = args[:self_link] if args.key?(:self_link)
  @services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
  @shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
  @status = args[:status] if args.key?(:status)
  @status_message = args[:status_message] if args.key?(:status_message)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @tpu_config = args[:tpu_config] if args.key?(:tpu_config)
  @tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
  @user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
  @vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
  @workload_alts_config = args[:workload_alts_config] if args.key?(:workload_alts_config)
  @workload_certificates = args[:workload_certificates] if args.key?(:workload_certificates)
  @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
  @zone = args[:zone] if args.key?(:zone)
end