class Google::Apis::ContainerV1beta1::Cluster

A Google Kubernetes Engine cluster.

Attributes

addons_config[RW]

Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. Corresponds to the JSON property `addonsConfig` @return [Google::Apis::ContainerV1beta1::AddonsConfig]

authenticator_groups_config[RW]

Configuration for returning group information from authenticators. Corresponds to the JSON property `authenticatorGroupsConfig` @return [Google::Apis::ContainerV1beta1::AuthenticatorGroupsConfig]

autopilot[RW]

Autopilot is the configuration for Autopilot settings on the cluster. Corresponds to the JSON property `autopilot` @return [Google::Apis::ContainerV1beta1::Autopilot]

autoscaling[RW]

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` @return [Google::Apis::ContainerV1beta1::ClusterAutoscaling]

binary_authorization[RW]

Configuration for Binary Authorization. Corresponds to the JSON property `binaryAuthorization` @return [Google::Apis::ContainerV1beta1::BinaryAuthorization]

cluster_ipv4_cidr[RW]

The IP address range of the container pods in this cluster, in [CIDR](http:// en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 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` @return [String]

cluster_telemetry[RW]

Telemetry integration for the cluster. Corresponds to the JSON property `clusterTelemetry` @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]

conditions[RW]

Which conditions caused the current cluster state. Corresponds to the JSON property `conditions` @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]

confidential_nodes[RW]

ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs. Corresponds to the JSON property `confidentialNodes` @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]

create_time[RW]
Output only

The time the cluster was created, in [RFC3339](www.ietf.

org/rfc/rfc3339.txt) text format. Corresponds to the JSON property `createTime` @return [String]

current_master_version[RW]
Output only

The current software version of the master endpoint.

Corresponds to the JSON property `currentMasterVersion` @return [String]

current_node_count[RW]
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` @return [Fixnum]

current_node_version[RW]
Output only

Deprecated, use [NodePool.version](cloud.google.com/

kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters. nodePools) 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` @return [String]

database_encryption[RW]

Configuration of etcd encryption. Corresponds to the JSON property `databaseEncryption` @return [Google::Apis::ContainerV1beta1::DatabaseEncryption]

default_max_pods_constraint[RW]

Constraints applied to pods. Corresponds to the JSON property `defaultMaxPodsConstraint` @return [Google::Apis::ContainerV1beta1::MaxPodsConstraint]

description[RW]

An optional description of this cluster. Corresponds to the JSON property `description` @return [String]

enable_kubernetes_alpha[RW]

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` @return [Boolean]

enable_kubernetes_alpha?[RW]

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` @return [Boolean]

enable_tpu[RW]

Enable the ability to use Cloud TPUs in this cluster. This field is deprecated, use tpu_config.enabled instead. Corresponds to the JSON property `enableTpu` @return [Boolean]

enable_tpu?[RW]

Enable the ability to use Cloud TPUs in this cluster. This field is deprecated, use tpu_config.enabled instead. Corresponds to the JSON property `enableTpu` @return [Boolean]

endpoint[RW]
Output only

The IP address of this cluster's master endpoint. The endpoint

can be accessed from the internet at `username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. Corresponds to the JSON property `endpoint` @return [String]

expire_time[RW]
Output only

The time the cluster will be automatically deleted in [RFC3339](

www.ietf.org/rfc/rfc3339.txt) text format. Corresponds to the JSON property `expireTime` @return [String]

id[RW]

Output only. Unique id for the cluster. Corresponds to the JSON property `id` @return [String]

identity_service_config[RW]

IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API Corresponds to the JSON property `identityServiceConfig` @return [Google::Apis::ContainerV1beta1::IdentityServiceConfig]

initial_cluster_version[RW]

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` @return [String]

initial_node_count[RW]

The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](cloud.google.com/compute/quotas) 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` @return [Fixnum]

instance_group_urls[RW]

Deprecated. Use node_pools.instance_group_urls. Corresponds to the JSON property `instanceGroupUrls` @return [Array<String>]

ip_allocation_policy[RW]

Configuration for controlling how IPs are allocated in the cluster. Corresponds to the JSON property `ipAllocationPolicy` @return [Google::Apis::ContainerV1beta1::IpAllocationPolicy]

label_fingerprint[RW]

The fingerprint of the set of labels for this cluster. Corresponds to the JSON property `labelFingerprint` @return [String]

legacy_abac[RW]

Configuration for the legacy Attribute Based Access Control authorization mode. Corresponds to the JSON property `legacyAbac` @return [Google::Apis::ContainerV1beta1::LegacyAbac]

location[RW]
Output only

The name of the Google Compute Engine [zone](cloud.

google.com/compute/docs/regions-zones/regions-zones#available) or [region]( cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides. Corresponds to the JSON property `location` @return [String]

locations[RW]

The list of Google Compute Engine [zones](cloud.google.com/compute/ docs/zones#available) in which the cluster's nodes should be located. This field provides a default value if [NodePool.Locations](cloud.google. com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters. nodePools#NodePool.FIELDS.locations) are not specified during node pool creation. Warning: changing cluster locations will update the [NodePool. Locations](cloud.google.com/kubernetes-engine/docs/reference/rest/v1/ projects.locations.clusters.nodePools#NodePool.FIELDS.locations) of all node pools and will result in nodes being added and/or removed. Corresponds to the JSON property `locations` @return [Array<String>]

logging_config[RW]

LoggingConfig is cluster logging configuration. Corresponds to the JSON property `loggingConfig` @return [Google::Apis::ContainerV1beta1::LoggingConfig]

logging_service[RW]

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` @return [String]

maintenance_policy[RW]

MaintenancePolicy defines the maintenance policy to be used for the cluster. Corresponds to the JSON property `maintenancePolicy` @return [Google::Apis::ContainerV1beta1::MaintenancePolicy]

master[RW]

Master is the configuration for components on master. Corresponds to the JSON property `master` @return [Google::Apis::ContainerV1beta1::Master]

master_auth[RW]

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` @return [Google::Apis::ContainerV1beta1::MasterAuth]

master_authorized_networks_config[RW]

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` @return [Google::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig]

master_ipv4_cidr_block[RW]

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` @return [String]

monitoring_config[RW]

MonitoringConfig is cluster monitoring configuration. Corresponds to the JSON property `monitoringConfig` @return [Google::Apis::ContainerV1beta1::MonitoringConfig]

monitoring_service[RW]

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` @return [String]

name[RW]

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` @return [String]

network[RW]

The name of the Google Compute Engine [network](cloud.google.com/ compute/docs/networks-and-firewalls#networks) 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` @return [String]

network_config[RW]

NetworkConfig reports the relative names of network & subnetwork. Corresponds to the JSON property `networkConfig` @return [Google::Apis::ContainerV1beta1::NetworkConfig]

network_policy[RW]

Configuration options for the NetworkPolicy feature. kubernetes.io/ docs/concepts/services-networking/networkpolicies/ Corresponds to the JSON property `networkPolicy` @return [Google::Apis::ContainerV1beta1::NetworkPolicy]

node_config[RW]

Parameters that describe the nodes in a cluster. Corresponds to the JSON property `nodeConfig` @return [Google::Apis::ContainerV1beta1::NodeConfig]

node_ipv4_cidr_size[RW]
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` @return [Fixnum]

node_pool_defaults[RW]

Subset of Nodepool message that has defaults. Corresponds to the JSON property `nodePoolDefaults` @return [Google::Apis::ContainerV1beta1::NodePoolDefaults]

node_pools[RW]

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` @return [Array<Google::Apis::ContainerV1beta1::NodePool>]

notification_config[RW]

NotificationConfig is the configuration of notifications. Corresponds to the JSON property `notificationConfig` @return [Google::Apis::ContainerV1beta1::NotificationConfig]

pod_security_policy_config[RW]

Configuration for the PodSecurityPolicy feature. Corresponds to the JSON property `podSecurityPolicyConfig` @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]

private_cluster[RW]

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` @return [Boolean]

private_cluster?[RW]

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` @return [Boolean]

private_cluster_config[RW]

Configuration options for private clusters. Corresponds to the JSON property `privateClusterConfig` @return [Google::Apis::ContainerV1beta1::PrivateClusterConfig]

release_channel[RW]

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` @return [Google::Apis::ContainerV1beta1::ReleaseChannel]

resource_labels[RW]

The resource labels for the cluster to use to annotate any related Google Compute Engine resources. Corresponds to the JSON property `resourceLabels` @return [Hash<String,String>]

resource_usage_export_config[RW]

Configuration for exporting cluster resource usages. Corresponds to the JSON property `resourceUsageExportConfig` @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]

services_ipv4_cidr[RW]
Output only

The IP address range of the Kubernetes services in this cluster,

in [CIDR](en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 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` @return [String]

shielded_nodes[RW]

Configuration of Shielded Nodes feature. Corresponds to the JSON property `shieldedNodes` @return [Google::Apis::ContainerV1beta1::ShieldedNodes]

status[RW]
Output only

The current status of this cluster.

Corresponds to the JSON property `status` @return [String]

status_message[RW]
Output only

Deprecated. Use conditions instead. Additional information about

the current status of this cluster, if available. Corresponds to the JSON property `statusMessage` @return [String]

subnetwork[RW]

The name of the Google Compute Engine [subnetwork](cloud.google.com/ compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name. Corresponds to the JSON property `subnetwork` @return [String]

tpu_config[RW]

Configuration for Cloud TPU. Corresponds to the JSON property `tpuConfig` @return [Google::Apis::ContainerV1beta1::TpuConfig]

tpu_ipv4_cidr_block[RW]
Output only

The IP address range of the Cloud TPUs in this cluster, in [CIDR]

(en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. ` 1.2.3.4/29`). Corresponds to the JSON property `tpuIpv4CidrBlock` @return [String]

vertical_pod_autoscaling[RW]

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` @return [Google::Apis::ContainerV1beta1::VerticalPodAutoscaling]

workload_certificates[RW]

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property `workloadCertificates` @return [Google::Apis::ContainerV1beta1::WorkloadCertificates]

workload_identity_config[RW]

Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. Corresponds to the JSON property `workloadIdentityConfig` @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]

zone[RW]
Output only

The name of the Google Compute Engine [zone](cloud.

google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead. Corresponds to the JSON property `zone` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/container_v1beta1/classes.rb, line 931
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/container_v1beta1/classes.rb, line 936
def update!(**args)
  @addons_config = args[:addons_config] if args.key?(:addons_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)
  @conditions = args[:conditions] if args.key?(:conditions)
  @confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
  @create_time = args[:create_time] if args.key?(:create_time)
  @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_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)
  @expire_time = args[:expire_time] if args.key?(:expire_time)
  @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)
  @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)
  @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_ipv4_cidr_size = args[:node_ipv4_cidr_size] if args.key?(:node_ipv4_cidr_size)
  @node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
  @node_pools = args[:node_pools] if args.key?(:node_pools)
  @notification_config = args[:notification_config] if args.key?(:notification_config)
  @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)
  @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)
  @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)
  @vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
  @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