@@ -759,6 +759,13 @@ class Cluster
759759 # @return [String]
760760 attr_accessor :endpoint
761761
762+ # This checksum is computed by the server based on the value of cluster fields,
763+ # and may be sent on update requests to ensure the client has an up-to-date
764+ # value before proceeding.
765+ # Corresponds to the JSON property `etag`
766+ # @return [String]
767+ attr_accessor :etag
768+
762769 # [Output only] The time the cluster will be automatically deleted in [RFC3339](
763770 # https://www.ietf.org/rfc/rfc3339.txt) text format.
764771 # Corresponds to the JSON property `expireTime`
@@ -1121,6 +1128,7 @@ def update!(**args)
11211128 @enable_kubernetes_alpha = args [ :enable_kubernetes_alpha ] if args . key? ( :enable_kubernetes_alpha )
11221129 @enable_tpu = args [ :enable_tpu ] if args . key? ( :enable_tpu )
11231130 @endpoint = args [ :endpoint ] if args . key? ( :endpoint )
1131+ @etag = args [ :etag ] if args . key? ( :etag )
11241132 @expire_time = args [ :expire_time ] if args . key? ( :expire_time )
11251133 @id = args [ :id ] if args . key? ( :id )
11261134 @identity_service_config = args [ :identity_service_config ] if args . key? ( :identity_service_config )
@@ -1532,6 +1540,13 @@ class ClusterUpdate
15321540 # @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
15331541 attr_accessor :desired_workload_identity_config
15341542
1543+ # The current etag of the cluster. If an etag is provided and does not match the
1544+ # current etag of the cluster, update will be blocked and an ABORTED error will
1545+ # be returned.
1546+ # Corresponds to the JSON property `etag`
1547+ # @return [String]
1548+ attr_accessor :etag
1549+
15351550 def initialize ( **args )
15361551 update! ( **args )
15371552 end
@@ -1584,6 +1599,7 @@ def update!(**args)
15841599 @desired_workload_alts_config = args [ :desired_workload_alts_config ] if args . key? ( :desired_workload_alts_config )
15851600 @desired_workload_certificates = args [ :desired_workload_certificates ] if args . key? ( :desired_workload_certificates )
15861601 @desired_workload_identity_config = args [ :desired_workload_identity_config ] if args . key? ( :desired_workload_identity_config )
1602+ @etag = args [ :etag ] if args . key? ( :etag )
15871603 end
15881604 end
15891605
@@ -2039,6 +2055,30 @@ def update!(**args)
20392055 end
20402056 end
20412057
2058+ # EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
2059+ # storage using Local SSDs.
2060+ class EphemeralStorageLocalSsdConfig
2061+ include Google ::Apis ::Core ::Hashable
2062+
2063+ # Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
2064+ # Each local SSD is 375 GB in size. If zero, it means to disable using local
2065+ # SSDs as ephemeral storage. The limit for this value is dependent upon the
2066+ # maximum number of disks available on a machine per zone. See: https://cloud.
2067+ # google.com/compute/docs/disks/local-ssd for more information.
2068+ # Corresponds to the JSON property `localSsdCount`
2069+ # @return [Fixnum]
2070+ attr_accessor :local_ssd_count
2071+
2072+ def initialize ( **args )
2073+ update! ( **args )
2074+ end
2075+
2076+ # Update properties of this object
2077+ def update! ( **args )
2078+ @local_ssd_count = args [ :local_ssd_count ] if args . key? ( :local_ssd_count )
2079+ end
2080+ end
2081+
20422082 # Configuration of Fast Socket feature.
20432083 class FastSocket
20442084 include Google ::Apis ::Core ::Hashable
@@ -2920,6 +2960,30 @@ def update!(**args)
29202960 end
29212961 end
29222962
2963+ # LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
2964+ # SSDs
2965+ class LocalNvmeSsdBlockConfig
2966+ include Google ::Apis ::Core ::Hashable
2967+
2968+ # The number of raw-block local NVMe SSD disks to be attached to the node. Each
2969+ # local SSD is 375 GB in size. If zero, it means no raw-block local NVMe SSD
2970+ # disks to be attached to the node. The limit for this value is dependent upon
2971+ # the maximum number of disks available on a machine per zone. See: https://
2972+ # cloud.google.com/compute/docs/disks/local-ssd for more information.
2973+ # Corresponds to the JSON property `localSsdCount`
2974+ # @return [Fixnum]
2975+ attr_accessor :local_ssd_count
2976+
2977+ def initialize ( **args )
2978+ update! ( **args )
2979+ end
2980+
2981+ # Update properties of this object
2982+ def update! ( **args )
2983+ @local_ssd_count = args [ :local_ssd_count ] if args . key? ( :local_ssd_count )
2984+ end
2985+ end
2986+
29232987 # Location returns the location name, and if the location is recommended for GKE
29242988 # cluster scheduling.
29252989 class Location
@@ -3581,6 +3645,12 @@ class NodeConfig
35813645 # @return [Google::Apis::ContainerV1beta1::EphemeralStorageConfig]
35823646 attr_accessor :ephemeral_storage_config
35833647
3648+ # EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
3649+ # storage using Local SSDs.
3650+ # Corresponds to the JSON property `ephemeralStorageLocalSsdConfig`
3651+ # @return [Google::Apis::ContainerV1beta1::EphemeralStorageLocalSsdConfig]
3652+ attr_accessor :ephemeral_storage_local_ssd_config
3653+
35843654 # Configuration of Fast Socket feature.
35853655 # Corresponds to the JSON property `fastSocket`
35863656 # @return [Google::Apis::ContainerV1beta1::FastSocket]
@@ -3623,6 +3693,12 @@ class NodeConfig
36233693 # @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
36243694 attr_accessor :linux_node_config
36253695
3696+ # LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
3697+ # SSDs
3698+ # Corresponds to the JSON property `localNvmeSsdBlockConfig`
3699+ # @return [Google::Apis::ContainerV1beta1::LocalNvmeSsdBlockConfig]
3700+ attr_accessor :local_nvme_ssd_block_config
3701+
36263702 # The number of local SSD disks to be attached to the node. The limit for this
36273703 # value is dependent upon the maximum number of disks available on a machine per
36283704 # zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more
@@ -3751,6 +3827,13 @@ class NodeConfig
37513827 # @return [Array<Google::Apis::ContainerV1beta1::NodeTaint>]
37523828 attr_accessor :taints
37533829
3830+ # Parameters that can be configured on Windows nodes. Windows Node Config that
3831+ # define the parameters that will be used to configure the Windows node pool
3832+ # settings
3833+ # Corresponds to the JSON property `windowsNodeConfig`
3834+ # @return [Google::Apis::ContainerV1beta1::WindowsNodeConfig]
3835+ attr_accessor :windows_node_config
3836+
37543837 # WorkloadMetadataConfig defines the metadata configuration to expose to
37553838 # workloads on the node pool.
37563839 # Corresponds to the JSON property `workloadMetadataConfig`
@@ -3770,13 +3853,15 @@ def update!(**args)
37703853 @disk_size_gb = args [ :disk_size_gb ] if args . key? ( :disk_size_gb )
37713854 @disk_type = args [ :disk_type ] if args . key? ( :disk_type )
37723855 @ephemeral_storage_config = args [ :ephemeral_storage_config ] if args . key? ( :ephemeral_storage_config )
3856+ @ephemeral_storage_local_ssd_config = args [ :ephemeral_storage_local_ssd_config ] if args . key? ( :ephemeral_storage_local_ssd_config )
37733857 @fast_socket = args [ :fast_socket ] if args . key? ( :fast_socket )
37743858 @gcfs_config = args [ :gcfs_config ] if args . key? ( :gcfs_config )
37753859 @gvnic = args [ :gvnic ] if args . key? ( :gvnic )
37763860 @image_type = args [ :image_type ] if args . key? ( :image_type )
37773861 @kubelet_config = args [ :kubelet_config ] if args . key? ( :kubelet_config )
37783862 @labels = args [ :labels ] if args . key? ( :labels )
37793863 @linux_node_config = args [ :linux_node_config ] if args . key? ( :linux_node_config )
3864+ @local_nvme_ssd_block_config = args [ :local_nvme_ssd_block_config ] if args . key? ( :local_nvme_ssd_block_config )
37803865 @local_ssd_count = args [ :local_ssd_count ] if args . key? ( :local_ssd_count )
37813866 @logging_config = args [ :logging_config ] if args . key? ( :logging_config )
37823867 @machine_type = args [ :machine_type ] if args . key? ( :machine_type )
@@ -3793,6 +3878,7 @@ def update!(**args)
37933878 @spot = args [ :spot ] if args . key? ( :spot )
37943879 @tags = args [ :tags ] if args . key? ( :tags )
37953880 @taints = args [ :taints ] if args . key? ( :taints )
3881+ @windows_node_config = args [ :windows_node_config ] if args . key? ( :windows_node_config )
37963882 @workload_metadata_config = args [ :workload_metadata_config ] if args . key? ( :workload_metadata_config )
37973883 end
37983884 end
@@ -4034,6 +4120,13 @@ class NodePool
40344120 # @return [Google::Apis::ContainerV1beta1::NodeConfig]
40354121 attr_accessor :config
40364122
4123+ # This checksum is computed by the server based on the value of node pool fields,
4124+ # and may be sent on update requests to ensure the client has an up-to-date
4125+ # value before proceeding.
4126+ # Corresponds to the JSON property `etag`
4127+ # @return [String]
4128+ attr_accessor :etag
4129+
40374130 # The initial node count for the pool. You must ensure that your Compute Engine [
40384131 # resource quota](https://cloud.google.com/compute/quotas) is sufficient for
40394132 # this number of instances. You must also have available firewall and routes
@@ -4148,6 +4241,7 @@ def update!(**args)
41484241 @autoscaling = args [ :autoscaling ] if args . key? ( :autoscaling )
41494242 @conditions = args [ :conditions ] if args . key? ( :conditions )
41504243 @config = args [ :config ] if args . key? ( :config )
4244+ @etag = args [ :etag ] if args . key? ( :etag )
41514245 @initial_node_count = args [ :initial_node_count ] if args . key? ( :initial_node_count )
41524246 @instance_group_urls = args [ :instance_group_urls ] if args . key? ( :instance_group_urls )
41534247 @locations = args [ :locations ] if args . key? ( :locations )
@@ -6243,6 +6337,13 @@ class UpdateNodePoolRequest
62436337 # @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
62446338 attr_accessor :confidential_nodes
62456339
6340+ # The current etag of the node pool. If an etag is provided and does not match
6341+ # the current etag of the node pool, update will be blocked and an ABORTED error
6342+ # will be returned.
6343+ # Corresponds to the JSON property `etag`
6344+ # @return [String]
6345+ attr_accessor :etag
6346+
62466347 # Configuration of Fast Socket feature.
62476348 # Corresponds to the JSON property `fastSocket`
62486349 # @return [Google::Apis::ContainerV1beta1::FastSocket]
@@ -6368,6 +6469,13 @@ class UpdateNodePoolRequest
63686469 # @return [Google::Apis::ContainerV1beta1::UpgradeSettings]
63696470 attr_accessor :upgrade_settings
63706471
6472+ # Parameters that can be configured on Windows nodes. Windows Node Config that
6473+ # define the parameters that will be used to configure the Windows node pool
6474+ # settings
6475+ # Corresponds to the JSON property `windowsNodeConfig`
6476+ # @return [Google::Apis::ContainerV1beta1::WindowsNodeConfig]
6477+ attr_accessor :windows_node_config
6478+
63716479 # WorkloadMetadataConfig defines the metadata configuration to expose to
63726480 # workloads on the node pool.
63736481 # Corresponds to the JSON property `workloadMetadataConfig`
@@ -6389,6 +6497,7 @@ def initialize(**args)
63896497 def update! ( **args )
63906498 @cluster_id = args [ :cluster_id ] if args . key? ( :cluster_id )
63916499 @confidential_nodes = args [ :confidential_nodes ] if args . key? ( :confidential_nodes )
6500+ @etag = args [ :etag ] if args . key? ( :etag )
63926501 @fast_socket = args [ :fast_socket ] if args . key? ( :fast_socket )
63936502 @gcfs_config = args [ :gcfs_config ] if args . key? ( :gcfs_config )
63946503 @gvnic = args [ :gvnic ] if args . key? ( :gvnic )
@@ -6407,6 +6516,7 @@ def update!(**args)
64076516 @tags = args [ :tags ] if args . key? ( :tags )
64086517 @taints = args [ :taints ] if args . key? ( :taints )
64096518 @upgrade_settings = args [ :upgrade_settings ] if args . key? ( :upgrade_settings )
6519+ @windows_node_config = args [ :windows_node_config ] if args . key? ( :windows_node_config )
64106520 @workload_metadata_config = args [ :workload_metadata_config ] if args . key? ( :workload_metadata_config )
64116521 @zone = args [ :zone ] if args . key? ( :zone )
64126522 end
@@ -6688,6 +6798,27 @@ def update!(**args)
66886798 end
66896799 end
66906800
6801+ # Parameters that can be configured on Windows nodes. Windows Node Config that
6802+ # define the parameters that will be used to configure the Windows node pool
6803+ # settings
6804+ class WindowsNodeConfig
6805+ include Google ::Apis ::Core ::Hashable
6806+
6807+ # OSVersion specifies the Windows node config to be used on the node
6808+ # Corresponds to the JSON property `osVersion`
6809+ # @return [String]
6810+ attr_accessor :os_version
6811+
6812+ def initialize ( **args )
6813+ update! ( **args )
6814+ end
6815+
6816+ # Update properties of this object
6817+ def update! ( **args )
6818+ @os_version = args [ :os_version ] if args . key? ( :os_version )
6819+ end
6820+ end
6821+
66916822 # Windows server version.
66926823 class WindowsVersion
66936824 include Google ::Apis ::Core ::Hashable
0 commit comments