@@ -833,6 +833,9 @@ message NodeConfig {
833833 // Google Compute Engine hosts.
834834 HostMaintenancePolicy host_maintenance_policy = 44 ;
835835
836+ // A map of resource manager tag keys and values to be attached to the nodes.
837+ ResourceManagerTags resource_manager_tags = 45 ;
838+
836839 // Optional. Enable confidential storage on Hyperdisk.
837840 // boot_disk_kms_key is required when enable_confidential_storage is true.
838841 // This is only available for private preview.
@@ -1011,34 +1014,68 @@ message SandboxConfig {
10111014// filesystem.
10121015message EphemeralStorageConfig {
10131016 // Number of local SSDs to use to back ephemeral storage. Uses NVMe
1014- // interfaces. Each local SSD is 375 GB in size.
1015- // If zero, it means to disable using local SSDs as ephemeral storage.
1017+ // interfaces. The limit for this value is dependent upon the maximum number
1018+ // of disk available on a machine per zone. See:
1019+ // https://cloud.google.com/compute/docs/disks/local-ssd
1020+ // for more information.
1021+ //
1022+ // A zero (or unset) value has different meanings depending on machine type
1023+ // being used:
1024+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1025+ // zero (or unset) means to disable using local SSDs as ephemeral storage.
1026+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1027+ // (or unset) means to use the default number of local ssds that goes with
1028+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1029+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1030+ // ssds), 0 will be provisioned. See
1031+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1032+ // for more info.
10161033 int32 local_ssd_count = 1 ;
10171034}
10181035
10191036// LocalNvmeSsdBlockConfig contains configuration for using raw-block local
10201037// NVMe SSDs
10211038message LocalNvmeSsdBlockConfig {
1022- // The number of raw-block local NVMe SSD disks to be attached to the node.
1023- // Each local SSD is 375 GB in size. If zero, it means no raw-block local NVMe
1024- // SSD disks to be attached to the node.
1025- // The limit for this value is dependent upon the maximum number of
1026- // disks available on a machine per zone. See:
1039+ // Number of local NVMe SSDs to use. The limit for this value is dependent
1040+ // upon the maximum number of disk available on a machine per zone. See:
10271041 // https://cloud.google.com/compute/docs/disks/local-ssd
10281042 // for more information.
1043+ //
1044+ // A zero (or unset) value has different meanings depending on machine type
1045+ // being used:
1046+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1047+ // zero (or unset) means to disable using local SSDs as ephemeral storage.
1048+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1049+ // (or unset) means to use the default number of local ssds that goes with
1050+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1051+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1052+ // ssds), 0 will be provisioned. See
1053+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1054+ // for more info.
10291055 int32 local_ssd_count = 1 ;
10301056}
10311057
10321058// EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
10331059// storage using Local SSDs.
10341060message EphemeralStorageLocalSsdConfig {
10351061 // Number of local SSDs to use to back ephemeral storage. Uses NVMe
1036- // interfaces. Each local SSD is 375 GB in size.
1037- // If zero, it means to disable using local SSDs as ephemeral storage.
1038- // The limit for this value is dependent upon the maximum number of
1039- // disks available on a machine per zone. See:
1062+ // interfaces.
1063+ //
1064+ // A zero (or unset) value has different meanings depending on machine type
1065+ // being used:
1066+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1067+ // zero (or unset) means to disable using local SSDs as ephemeral storage. The
1068+ // limit for this value is dependent upon the maximum number of disk
1069+ // available on a machine per zone. See:
10401070 // https://cloud.google.com/compute/docs/disks/local-ssd
10411071 // for more information.
1072+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1073+ // (or unset) means to use the default number of local ssds that goes with
1074+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1075+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1076+ // ssds), 0 will be provisioned. See
1077+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1078+ // for more info.
10421079 int32 local_ssd_count = 1 ;
10431080}
10441081
@@ -1138,8 +1175,36 @@ message HostMaintenancePolicy {
11381175 PERIODIC = 2 ;
11391176 }
11401177
1178+ // Strategy that will trigger maintenance on behalf of the customer.
1179+ message OpportunisticMaintenanceStrategy {
1180+ // The amount of time that a node can remain idle (no customer owned
1181+ // workloads running), before triggering maintenance.
1182+ optional google.protobuf.Duration node_idle_time_window = 1 ;
1183+
1184+ // The window of time that opportunistic maintenance can run. Example: A
1185+ // setting of 14 days implies that opportunistic maintenance can only be ran
1186+ // in the 2 weeks leading up to the scheduled maintenance date. Setting 28
1187+ // days allows opportunistic maintenance to run at any time in the scheduled
1188+ // maintenance window (all `PERIODIC` maintenance is set 28 days in
1189+ // advance).
1190+ optional google.protobuf.Duration maintenance_availability_window = 2 ;
1191+
1192+ // The minimum nodes required to be available in a pool. Blocks maintenance
1193+ // if it would cause the number of running nodes to dip below this value.
1194+ optional int64 min_nodes_per_pool = 3 ;
1195+ }
1196+
11411197 // Specifies the frequency of planned maintenance events.
11421198 optional MaintenanceInterval maintenance_interval = 1 ;
1199+
1200+ // Set of host maintenance strategies available to the customer, all require
1201+ // the maintenance_interval to be PERIODIC. If no strategy is set, and the
1202+ // interval is periodic, customer will be expected to trigger maintenance
1203+ // manually or let maintenance trigger at its initial scheduled time.
1204+ oneof maintenance_strategy {
1205+ // Strategy that will trigger maintenance on behalf of the customer.
1206+ OpportunisticMaintenanceStrategy opportunistic_maintenance_strategy = 2 ;
1207+ }
11431208}
11441209
11451210// Kubernetes taint is composed of three fields: key, value, and effect. Effect
@@ -2329,6 +2394,10 @@ message NodePoolAutoConfig {
23292394 // the client during cluster creation. Each tag within the list
23302395 // must comply with RFC1035.
23312396 NetworkTags network_tags = 1 ;
2397+
2398+ // Resource manager tag keys and values to be attached to the nodes
2399+ // for managing Compute Engine firewalls using Network Firewall Policies.
2400+ ResourceManagerTags resource_manager_tags = 2 ;
23322401}
23332402
23342403// ClusterUpdate describes an update to the cluster. Exactly one update can
@@ -2574,6 +2643,13 @@ message ClusterUpdate {
25742643 // HostMaintenancePolicy contains the desired maintenance policy for the
25752644 // Google Compute Engine hosts.
25762645 HostMaintenancePolicy desired_host_maintenance_policy = 132 ;
2646+
2647+ // The desired resource manager tags that apply to all auto-provisioned node
2648+ // pools in autopilot clusters and node auto-provisioning enabled clusters.
2649+ ResourceManagerTags desired_node_pool_auto_config_resource_manager_tags = 136 ;
2650+
2651+ // Specify the details of in-transit encryption.
2652+ optional InTransitEncryptionConfig desired_in_transit_encryption_config = 137 ;
25772653}
25782654
25792655// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -2737,6 +2813,10 @@ message Operation {
27372813 // [documentation on
27382814 // resizes](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).
27392815 RESIZE_CLUSTER = 18 ;
2816+
2817+ // Fleet features of GKE Enterprise are being upgraded. The cluster should
2818+ // be assumed to be blocked for other upgrades until the operation finishes.
2819+ FLEET_FEATURE_UPGRADE = 19 ;
27402820 }
27412821
27422822 // The server-assigned ID for the operation.
@@ -3052,6 +3132,11 @@ message UpdateNodePoolRequest {
30523132 // Initiates an upgrade operation that migrates the nodes in the
30533133 // node pool to the specified disk size.
30543134 int64 disk_size_gb = 38 [(google.api.field_behavior ) = OPTIONAL ];
3135+
3136+ // Desired resource manager tag keys and values to be attached to the nodes
3137+ // for managing Compute Engine firewalls using Network Firewall Policies.
3138+ // Existing tags will be replaced with new values.
3139+ ResourceManagerTags resource_manager_tags = 39 ;
30553140}
30563141
30573142// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
@@ -3770,6 +3855,9 @@ message NodePool {
37703855 // Start cordoning blue pool nodes.
37713856 CORDONING_BLUE_POOL = 3 ;
37723857
3858+ // Start waiting after cordoning the blue pool and before draining it.
3859+ WAITING_TO_DRAIN_BLUE_POOL = 8 ;
3860+
37733861 // Start draining blue pool nodes.
37743862 DRAINING_BLUE_POOL = 4 ;
37753863
@@ -4852,6 +4940,9 @@ message NetworkConfig {
48524940
48534941 // Whether FQDN Network Policy is enabled on this cluster.
48544942 optional bool enable_fqdn_network_policy = 19 ;
4943+
4944+ // Specify the details of in-transit encryption.
4945+ optional InTransitEncryptionConfig in_transit_encryption_config = 20 ;
48554946}
48564947
48574948// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -5758,3 +5849,30 @@ enum StackType {
57585849 // The value used if the cluster is a dual stack cluster
57595850 IPV4_IPV6 = 2 ;
57605851}
5852+
5853+ // A map of resource manager tag keys and values to be attached to the nodes
5854+ // for managing Compute Engine firewalls using Network Firewall Policies.
5855+ // Tags must be according to specifications in
5856+ // https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications.
5857+ // A maximum of 5 tag key-value pairs can be specified.
5858+ // Existing tags will be replaced with new values.
5859+ message ResourceManagerTags {
5860+ // Tags must be in one of the following formats ([KEY]=[VALUE])
5861+ // 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}`
5862+ // 2. `{org_id}/{tag_key_name}={tag_value_name}`
5863+ // 3. `{project_id}/{tag_key_name}={tag_value_name}`
5864+ map <string , string > tags = 1 ;
5865+ }
5866+
5867+ // Options for in-transit encryption.
5868+ enum InTransitEncryptionConfig {
5869+ // Unspecified, will be inferred as default -
5870+ // IN_TRANSIT_ENCRYPTION_UNSPECIFIED.
5871+ IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED = 0 ;
5872+
5873+ // In-transit encryption is disabled.
5874+ IN_TRANSIT_ENCRYPTION_DISABLED = 1 ;
5875+
5876+ // Data in-transit is encrypted using inter-node transparent encryption.
5877+ IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT = 2 ;
5878+ }
0 commit comments