google-apis-container_v1beta1 0.74.0 → 0.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -112,13 +112,19 @@ module Google
112
112
  # @return [Google::Apis::ContainerV1beta1::MaxPodsConstraint]
113
113
  attr_accessor :max_pods_per_node
114
114
 
115
+ # The name of the network attachment for pods to communicate to; cannot be
116
+ # specified along with subnetwork or secondary_pod_range.
117
+ # Corresponds to the JSON property `networkAttachment`
118
+ # @return [String]
119
+ attr_accessor :network_attachment
120
+
115
121
  # The name of the secondary range on the subnet which provides IP address for
116
- # this pod range
122
+ # this pod range.
117
123
  # Corresponds to the JSON property `secondaryPodRange`
118
124
  # @return [String]
119
125
  attr_accessor :secondary_pod_range
120
126
 
121
- # Name of the subnetwork where the additional pod network belongs
127
+ # Name of the subnetwork where the additional pod network belongs.
122
128
  # Corresponds to the JSON property `subnetwork`
123
129
  # @return [String]
124
130
  attr_accessor :subnetwork
@@ -130,6 +136,7 @@ module Google
130
136
  # Update properties of this object
131
137
  def update!(**args)
132
138
  @max_pods_per_node = args[:max_pods_per_node] if args.key?(:max_pods_per_node)
139
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
133
140
  @secondary_pod_range = args[:secondary_pod_range] if args.key?(:secondary_pod_range)
134
141
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
135
142
  end
@@ -140,7 +147,7 @@ module Google
140
147
  class AdditionalPodRangesConfig
141
148
  include Google::Apis::Core::Hashable
142
149
 
143
- # Output only. [Output only] Information for additional pod range.
150
+ # Output only. Information for additional pod range.
144
151
  # Corresponds to the JSON property `podRangeInfo`
145
152
  # @return [Array<Google::Apis::ContainerV1beta1::RangeInfo>]
146
153
  attr_accessor :pod_range_info
@@ -236,6 +243,16 @@ module Google
236
243
  # @return [Google::Apis::ContainerV1beta1::NetworkPolicyConfig]
237
244
  attr_accessor :network_policy_config
238
245
 
246
+ # Configuration for the Cloud Storage Parallelstore CSI driver.
247
+ # Corresponds to the JSON property `parallelstoreCsiDriverConfig`
248
+ # @return [Google::Apis::ContainerV1beta1::ParallelstoreCsiDriverConfig]
249
+ attr_accessor :parallelstore_csi_driver_config
250
+
251
+ # Configuration options for the Ray Operator add-on.
252
+ # Corresponds to the JSON property `rayOperatorConfig`
253
+ # @return [Google::Apis::ContainerV1beta1::RayOperatorConfig]
254
+ attr_accessor :ray_operator_config
255
+
239
256
  # Configuration for the Stateful HA add-on.
240
257
  # Corresponds to the JSON property `statefulHaConfig`
241
258
  # @return [Google::Apis::ContainerV1beta1::StatefulHaConfig]
@@ -260,6 +277,8 @@ module Google
260
277
  @kalm_config = args[:kalm_config] if args.key?(:kalm_config)
261
278
  @kubernetes_dashboard = args[:kubernetes_dashboard] if args.key?(:kubernetes_dashboard)
262
279
  @network_policy_config = args[:network_policy_config] if args.key?(:network_policy_config)
280
+ @parallelstore_csi_driver_config = args[:parallelstore_csi_driver_config] if args.key?(:parallelstore_csi_driver_config)
281
+ @ray_operator_config = args[:ray_operator_config] if args.key?(:ray_operator_config)
263
282
  @stateful_ha_config = args[:stateful_ha_config] if args.key?(:stateful_ha_config)
264
283
  end
265
284
  end
@@ -354,19 +373,39 @@ module Google
354
373
  end
355
374
  end
356
375
 
376
+ # AutoMonitoringConfig defines the configuration for GKE Workload Auto-
377
+ # Monitoring.
378
+ class AutoMonitoringConfig
379
+ include Google::Apis::Core::Hashable
380
+
381
+ # Scope for GKE Workload Auto-Monitoring.
382
+ # Corresponds to the JSON property `scope`
383
+ # @return [String]
384
+ attr_accessor :scope
385
+
386
+ def initialize(**args)
387
+ update!(**args)
388
+ end
389
+
390
+ # Update properties of this object
391
+ def update!(**args)
392
+ @scope = args[:scope] if args.key?(:scope)
393
+ end
394
+ end
395
+
357
396
  # AutoUpgradeOptions defines the set of options for the user to control how the
358
397
  # Auto Upgrades will proceed.
359
398
  class AutoUpgradeOptions
360
399
  include Google::Apis::Core::Hashable
361
400
 
362
- # [Output only] This field is set when upgrades are about to commence with the
401
+ # Output only. This field is set when upgrades are about to commence with the
363
402
  # approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/
364
403
  # rfc3339.txt) text format.
365
404
  # Corresponds to the JSON property `autoUpgradeStartTime`
366
405
  # @return [String]
367
406
  attr_accessor :auto_upgrade_start_time
368
407
 
369
- # [Output only] This field is set when upgrades are about to commence with the
408
+ # Output only. This field is set when upgrades are about to commence with the
370
409
  # description of the upgrade.
371
410
  # Corresponds to the JSON property `description`
372
411
  # @return [String]
@@ -1053,29 +1092,34 @@ module Google
1053
1092
  # @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
1054
1093
  attr_accessor :confidential_nodes
1055
1094
 
1095
+ # Configuration for all of the cluster's control plane endpoints.
1096
+ # Corresponds to the JSON property `controlPlaneEndpointsConfig`
1097
+ # @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
1098
+ attr_accessor :control_plane_endpoints_config
1099
+
1056
1100
  # Configuration for fine-grained cost management feature.
1057
1101
  # Corresponds to the JSON property `costManagementConfig`
1058
1102
  # @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
1059
1103
  attr_accessor :cost_management_config
1060
1104
 
1061
- # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.
1105
+ # Output only. The time the cluster was created, in [RFC3339](https://www.ietf.
1062
1106
  # org/rfc/rfc3339.txt) text format.
1063
1107
  # Corresponds to the JSON property `createTime`
1064
1108
  # @return [String]
1065
1109
  attr_accessor :create_time
1066
1110
 
1067
- # [Output only] The current software version of the master endpoint.
1111
+ # Output only. The current software version of the master endpoint.
1068
1112
  # Corresponds to the JSON property `currentMasterVersion`
1069
1113
  # @return [String]
1070
1114
  attr_accessor :current_master_version
1071
1115
 
1072
- # [Output only] The number of nodes currently in the cluster. Deprecated. Call
1116
+ # Output only. The number of nodes currently in the cluster. Deprecated. Call
1073
1117
  # Kubernetes API directly to retrieve node information.
1074
1118
  # Corresponds to the JSON property `currentNodeCount`
1075
1119
  # @return [Fixnum]
1076
1120
  attr_accessor :current_node_count
1077
1121
 
1078
- # [Output only] Deprecated, use [NodePool.version](https://cloud.google.com/
1122
+ # Output only. Deprecated, use [NodePool.version](https://cloud.google.com/
1079
1123
  # kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.
1080
1124
  # nodePools) instead. The current version of the node software components. If
1081
1125
  # they are currently at multiple versions because they're in the process of
@@ -1121,7 +1165,7 @@ module Google
1121
1165
  attr_accessor :enable_tpu
1122
1166
  alias_method :enable_tpu?, :enable_tpu
1123
1167
 
1124
- # [Output only] The IP address of this cluster's master endpoint. The endpoint
1168
+ # Output only. The IP address of this cluster's master endpoint. The endpoint
1125
1169
  # can be accessed from the internet at `https://username:password@endpoint/`.
1126
1170
  # See the `masterAuth` property of this resource for username and password
1127
1171
  # information.
@@ -1141,7 +1185,7 @@ module Google
1141
1185
  # @return [String]
1142
1186
  attr_accessor :etag
1143
1187
 
1144
- # [Output only] The time the cluster will be automatically deleted in [RFC3339](
1188
+ # Output only. The time the cluster will be automatically deleted in [RFC3339](
1145
1189
  # https://www.ietf.org/rfc/rfc3339.txt) text format.
1146
1190
  # Corresponds to the JSON property `expireTime`
1147
1191
  # @return [String]
@@ -1188,7 +1232,7 @@ module Google
1188
1232
  # @return [Fixnum]
1189
1233
  attr_accessor :initial_node_count
1190
1234
 
1191
- # Deprecated. Use node_pools.instance_group_urls.
1235
+ # Output only. Deprecated. Use node_pools.instance_group_urls.
1192
1236
  # Corresponds to the JSON property `instanceGroupUrls`
1193
1237
  # @return [Array<String>]
1194
1238
  attr_accessor :instance_group_urls
@@ -1208,10 +1252,10 @@ module Google
1208
1252
  # @return [Google::Apis::ContainerV1beta1::LegacyAbac]
1209
1253
  attr_accessor :legacy_abac
1210
1254
 
1211
- # [Output only] The name of the Google Compute Engine [zone](https://cloud.
1212
- # google.com/compute/docs/regions-zones/regions-zones#available) or [region](
1213
- # https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
1214
- # in which the cluster resides.
1255
+ # Output only. The name of the Google Compute Engine [zone](https://cloud.google.
1256
+ # com/compute/docs/regions-zones/regions-zones#available) or [region](https://
1257
+ # cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
1258
+ # the cluster resides.
1215
1259
  # Corresponds to the JSON property `location`
1216
1260
  # @return [String]
1217
1261
  attr_accessor :location
@@ -1332,9 +1376,9 @@ module Google
1332
1376
  # @return [Google::Apis::ContainerV1beta1::NodeConfig]
1333
1377
  attr_accessor :node_config
1334
1378
 
1335
- # [Output only] The size of the address space on each node for hosting
1336
- # containers. This is provisioned from within the `container_ipv4_cidr` range.
1337
- # This field will only be set when cluster is in route-based network mode.
1379
+ # Output only. The size of the address space on each node for hosting containers.
1380
+ # This is provisioned from within the `container_ipv4_cidr` range. This field
1381
+ # will only be set when cluster is in route-based network mode.
1338
1382
  # Corresponds to the JSON property `nodeIpv4CidrSize`
1339
1383
  # @return [Fixnum]
1340
1384
  attr_accessor :node_ipv4_cidr_size
@@ -1368,6 +1412,12 @@ module Google
1368
1412
  # @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
1369
1413
  attr_accessor :parent_product_config
1370
1414
 
1415
+ # PodAutoscaling is used for configuration of parameters for workload
1416
+ # autoscaling.
1417
+ # Corresponds to the JSON property `podAutoscaling`
1418
+ # @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
1419
+ attr_accessor :pod_autoscaling
1420
+
1371
1421
  # Configuration for the PodSecurityPolicy feature.
1372
1422
  # Corresponds to the JSON property `podSecurityPolicyConfig`
1373
1423
  # @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
@@ -1393,6 +1443,12 @@ module Google
1393
1443
  # @return [Google::Apis::ContainerV1beta1::ProtectConfig]
1394
1444
  attr_accessor :protect_config
1395
1445
 
1446
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
1447
+ # that can be created.
1448
+ # Corresponds to the JSON property `rbacBindingConfig`
1449
+ # @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
1450
+ attr_accessor :rbac_binding_config
1451
+
1396
1452
  # ReleaseChannel indicates which release channel a cluster is subscribed to.
1397
1453
  # Release channels are arranged in order of risk. When a cluster is subscribed
1398
1454
  # to a release channel, Google maintains both the master version and the node
@@ -1435,12 +1491,12 @@ module Google
1435
1491
  # @return [Google::Apis::ContainerV1beta1::SecurityPostureConfig]
1436
1492
  attr_accessor :security_posture_config
1437
1493
 
1438
- # [Output only] Server-defined URL for the resource.
1494
+ # Output only. Server-defined URL for the resource.
1439
1495
  # Corresponds to the JSON property `selfLink`
1440
1496
  # @return [String]
1441
1497
  attr_accessor :self_link
1442
1498
 
1443
- # [Output only] The IP address range of the Kubernetes services in this cluster,
1499
+ # Output only. The IP address range of the Kubernetes services in this cluster,
1444
1500
  # in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1445
1501
  # notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
1446
1502
  # /16` from the container CIDR.
@@ -1453,12 +1509,12 @@ module Google
1453
1509
  # @return [Google::Apis::ContainerV1beta1::ShieldedNodes]
1454
1510
  attr_accessor :shielded_nodes
1455
1511
 
1456
- # [Output only] The current status of this cluster.
1512
+ # Output only. The current status of this cluster.
1457
1513
  # Corresponds to the JSON property `status`
1458
1514
  # @return [String]
1459
1515
  attr_accessor :status
1460
1516
 
1461
- # [Output only] Deprecated. Use conditions instead. Additional information about
1517
+ # Output only. Deprecated. Use conditions instead. Additional information about
1462
1518
  # the current status of this cluster, if available.
1463
1519
  # Corresponds to the JSON property `statusMessage`
1464
1520
  # @return [String]
@@ -1476,13 +1532,19 @@ module Google
1476
1532
  # @return [Google::Apis::ContainerV1beta1::TpuConfig]
1477
1533
  attr_accessor :tpu_config
1478
1534
 
1479
- # [Output only] The IP address range of the Cloud TPUs in this cluster, in [CIDR]
1480
- # (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `
1481
- # 1.2.3.4/29`).
1535
+ # Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](
1536
+ # http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.
1537
+ # 2.3.4/29`).
1482
1538
  # Corresponds to the JSON property `tpuIpv4CidrBlock`
1483
1539
  # @return [String]
1484
1540
  attr_accessor :tpu_ipv4_cidr_block
1485
1541
 
1542
+ # UserManagedKeysConfig holds the resource address to Keys which are used for
1543
+ # signing certs and token that are used for communication within cluster.
1544
+ # Corresponds to the JSON property `userManagedKeysConfig`
1545
+ # @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
1546
+ attr_accessor :user_managed_keys_config
1547
+
1486
1548
  # VerticalPodAutoscaling contains global, per-cluster information required by
1487
1549
  # Vertical Pod Autoscaler to automatically adjust the resources of pods
1488
1550
  # controlled by it.
@@ -1505,9 +1567,9 @@ module Google
1505
1567
  # @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
1506
1568
  attr_accessor :workload_identity_config
1507
1569
 
1508
- # [Output only] The name of the Google Compute Engine [zone](https://cloud.
1509
- # google.com/compute/docs/zones#available) in which the cluster resides. This
1510
- # field is deprecated, use location instead.
1570
+ # Output only. The name of the Google Compute Engine [zone](https://cloud.google.
1571
+ # com/compute/docs/zones#available) in which the cluster resides. This field is
1572
+ # deprecated, use location instead.
1511
1573
  # Corresponds to the JSON property `zone`
1512
1574
  # @return [String]
1513
1575
  attr_accessor :zone
@@ -1528,6 +1590,7 @@ module Google
1528
1590
  @compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
1529
1591
  @conditions = args[:conditions] if args.key?(:conditions)
1530
1592
  @confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
1593
+ @control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
1531
1594
  @cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
1532
1595
  @create_time = args[:create_time] if args.key?(:create_time)
1533
1596
  @current_master_version = args[:current_master_version] if args.key?(:current_master_version)
@@ -1575,10 +1638,12 @@ module Google
1575
1638
  @node_pools = args[:node_pools] if args.key?(:node_pools)
1576
1639
  @notification_config = args[:notification_config] if args.key?(:notification_config)
1577
1640
  @parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
1641
+ @pod_autoscaling = args[:pod_autoscaling] if args.key?(:pod_autoscaling)
1578
1642
  @pod_security_policy_config = args[:pod_security_policy_config] if args.key?(:pod_security_policy_config)
1579
1643
  @private_cluster = args[:private_cluster] if args.key?(:private_cluster)
1580
1644
  @private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
1581
1645
  @protect_config = args[:protect_config] if args.key?(:protect_config)
1646
+ @rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
1582
1647
  @release_channel = args[:release_channel] if args.key?(:release_channel)
1583
1648
  @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
1584
1649
  @resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
@@ -1594,6 +1659,7 @@ module Google
1594
1659
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
1595
1660
  @tpu_config = args[:tpu_config] if args.key?(:tpu_config)
1596
1661
  @tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
1662
+ @user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
1597
1663
  @vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
1598
1664
  @workload_alts_config = args[:workload_alts_config] if args.key?(:workload_alts_config)
1599
1665
  @workload_certificates = args[:workload_certificates] if args.key?(:workload_certificates)
@@ -1734,11 +1800,22 @@ module Google
1734
1800
  # @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]
1735
1801
  attr_accessor :desired_cluster_telemetry
1736
1802
 
1803
+ # CompliancePostureConfig defines the settings needed to enable/disable features
1804
+ # for the Compliance Posture.
1805
+ # Corresponds to the JSON property `desiredCompliancePostureConfig`
1806
+ # @return [Google::Apis::ContainerV1beta1::CompliancePostureConfig]
1807
+ attr_accessor :desired_compliance_posture_config
1808
+
1737
1809
  # ContainerdConfig contains configuration to customize containerd.
1738
1810
  # Corresponds to the JSON property `desiredContainerdConfig`
1739
1811
  # @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
1740
1812
  attr_accessor :desired_containerd_config
1741
1813
 
1814
+ # Configuration for all of the cluster's control plane endpoints.
1815
+ # Corresponds to the JSON property `desiredControlPlaneEndpointsConfig`
1816
+ # @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
1817
+ attr_accessor :desired_control_plane_endpoints_config
1818
+
1742
1819
  # Configuration for fine-grained cost management feature.
1743
1820
  # Corresponds to the JSON property `desiredCostManagementConfig`
1744
1821
  # @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
@@ -1754,6 +1831,13 @@ module Google
1754
1831
  # @return [String]
1755
1832
  attr_accessor :desired_datapath_provider
1756
1833
 
1834
+ # Override the default setting of whether future created nodes have private IP
1835
+ # addresses only, namely NetworkConfig.default_enable_private_nodes
1836
+ # Corresponds to the JSON property `desiredDefaultEnablePrivateNodes`
1837
+ # @return [Boolean]
1838
+ attr_accessor :desired_default_enable_private_nodes
1839
+ alias_method :desired_default_enable_private_nodes?, :desired_default_enable_private_nodes
1840
+
1757
1841
  # DefaultSnatStatus contains the desired state of whether default sNAT should be
1758
1842
  # disabled on the cluster.
1759
1843
  # Corresponds to the JSON property `desiredDefaultSnatStatus`
@@ -1783,12 +1867,21 @@ module Google
1783
1867
  attr_accessor :desired_enable_multi_networking
1784
1868
  alias_method :desired_enable_multi_networking?, :desired_enable_multi_networking
1785
1869
 
1786
- # Enable/Disable private endpoint for the cluster's master.
1870
+ # Enable/Disable private endpoint for the cluster's master. Deprecated: Use
1871
+ # desired_control_plane_endpoints_config.ip_endpoints_config.
1872
+ # enable_public_endpoint instead. Note that the value of enable_public_endpoint
1873
+ # is reversed: if enable_private_endpoint is false, then enable_public_endpoint
1874
+ # will be true.
1787
1875
  # Corresponds to the JSON property `desiredEnablePrivateEndpoint`
1788
1876
  # @return [Boolean]
1789
1877
  attr_accessor :desired_enable_private_endpoint
1790
1878
  alias_method :desired_enable_private_endpoint?, :desired_enable_private_endpoint
1791
1879
 
1880
+ # DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
1881
+ # Corresponds to the JSON property `desiredEnterpriseConfig`
1882
+ # @return [Google::Apis::ContainerV1beta1::DesiredEnterpriseConfig]
1883
+ attr_accessor :desired_enterprise_config
1884
+
1792
1885
  # Fleet is the fleet configuration for the cluster.
1793
1886
  # Corresponds to the JSON property `desiredFleet`
1794
1887
  # @return [Google::Apis::ContainerV1beta1::Fleet]
@@ -1930,6 +2023,11 @@ module Google
1930
2023
  # @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
1931
2024
  attr_accessor :desired_node_pool_auto_config_kubelet_config
1932
2025
 
2026
+ # Parameters that can be configured on Linux nodes.
2027
+ # Corresponds to the JSON property `desiredNodePoolAutoConfigLinuxNodeConfig`
2028
+ # @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
2029
+ attr_accessor :desired_node_pool_auto_config_linux_node_config
2030
+
1933
2031
  # Collection of Compute Engine network tags that can be applied to a node's
1934
2032
  # underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
1935
2033
  # docs/reference/rest/v1/NodeConfig)).
@@ -1988,6 +2086,12 @@ module Google
1988
2086
  # @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
1989
2087
  attr_accessor :desired_parent_product_config
1990
2088
 
2089
+ # PodAutoscaling is used for configuration of parameters for workload
2090
+ # autoscaling.
2091
+ # Corresponds to the JSON property `desiredPodAutoscaling`
2092
+ # @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
2093
+ attr_accessor :desired_pod_autoscaling
2094
+
1991
2095
  # Configuration for the PodSecurityPolicy feature.
1992
2096
  # Corresponds to the JSON property `desiredPodSecurityPolicyConfig`
1993
2097
  # @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
@@ -2009,6 +2113,12 @@ module Google
2009
2113
  # @return [Google::Apis::ContainerV1beta1::ProtectConfig]
2010
2114
  attr_accessor :desired_protect_config
2011
2115
 
2116
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
2117
+ # that can be created.
2118
+ # Corresponds to the JSON property `desiredRbacBindingConfig`
2119
+ # @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
2120
+ attr_accessor :desired_rbac_binding_config
2121
+
2012
2122
  # ReleaseChannel indicates which release channel a cluster is subscribed to.
2013
2123
  # Release channels are arranged in order of risk. When a cluster is subscribed
2014
2124
  # to a release channel, Google maintains both the master version and the node
@@ -2100,6 +2210,12 @@ module Google
2100
2210
  # @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
2101
2211
  attr_accessor :removed_additional_pod_ranges_config
2102
2212
 
2213
+ # UserManagedKeysConfig holds the resource address to Keys which are used for
2214
+ # signing certs and token that are used for communication within cluster.
2215
+ # Corresponds to the JSON property `userManagedKeysConfig`
2216
+ # @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
2217
+ attr_accessor :user_managed_keys_config
2218
+
2103
2219
  def initialize(**args)
2104
2220
  update!(**args)
2105
2221
  end
@@ -2113,16 +2229,20 @@ module Google
2113
2229
  @desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
2114
2230
  @desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
2115
2231
  @desired_cluster_telemetry = args[:desired_cluster_telemetry] if args.key?(:desired_cluster_telemetry)
2232
+ @desired_compliance_posture_config = args[:desired_compliance_posture_config] if args.key?(:desired_compliance_posture_config)
2116
2233
  @desired_containerd_config = args[:desired_containerd_config] if args.key?(:desired_containerd_config)
2234
+ @desired_control_plane_endpoints_config = args[:desired_control_plane_endpoints_config] if args.key?(:desired_control_plane_endpoints_config)
2117
2235
  @desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
2118
2236
  @desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
2119
2237
  @desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
2238
+ @desired_default_enable_private_nodes = args[:desired_default_enable_private_nodes] if args.key?(:desired_default_enable_private_nodes)
2120
2239
  @desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
2121
2240
  @desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
2122
2241
  @desired_enable_cilium_clusterwide_network_policy = args[:desired_enable_cilium_clusterwide_network_policy] if args.key?(:desired_enable_cilium_clusterwide_network_policy)
2123
2242
  @desired_enable_fqdn_network_policy = args[:desired_enable_fqdn_network_policy] if args.key?(:desired_enable_fqdn_network_policy)
2124
2243
  @desired_enable_multi_networking = args[:desired_enable_multi_networking] if args.key?(:desired_enable_multi_networking)
2125
2244
  @desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
2245
+ @desired_enterprise_config = args[:desired_enterprise_config] if args.key?(:desired_enterprise_config)
2126
2246
  @desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
2127
2247
  @desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
2128
2248
  @desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
@@ -2145,6 +2265,7 @@ module Google
2145
2265
  @desired_network_performance_config = args[:desired_network_performance_config] if args.key?(:desired_network_performance_config)
2146
2266
  @desired_node_kubelet_config = args[:desired_node_kubelet_config] if args.key?(:desired_node_kubelet_config)
2147
2267
  @desired_node_pool_auto_config_kubelet_config = args[:desired_node_pool_auto_config_kubelet_config] if args.key?(:desired_node_pool_auto_config_kubelet_config)
2268
+ @desired_node_pool_auto_config_linux_node_config = args[:desired_node_pool_auto_config_linux_node_config] if args.key?(:desired_node_pool_auto_config_linux_node_config)
2148
2269
  @desired_node_pool_auto_config_network_tags = args[:desired_node_pool_auto_config_network_tags] if args.key?(:desired_node_pool_auto_config_network_tags)
2149
2270
  @desired_node_pool_auto_config_resource_manager_tags = args[:desired_node_pool_auto_config_resource_manager_tags] if args.key?(:desired_node_pool_auto_config_resource_manager_tags)
2150
2271
  @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
@@ -2153,10 +2274,12 @@ module Google
2153
2274
  @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
2154
2275
  @desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
2155
2276
  @desired_parent_product_config = args[:desired_parent_product_config] if args.key?(:desired_parent_product_config)
2277
+ @desired_pod_autoscaling = args[:desired_pod_autoscaling] if args.key?(:desired_pod_autoscaling)
2156
2278
  @desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config)
2157
2279
  @desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
2158
2280
  @desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
2159
2281
  @desired_protect_config = args[:desired_protect_config] if args.key?(:desired_protect_config)
2282
+ @desired_rbac_binding_config = args[:desired_rbac_binding_config] if args.key?(:desired_rbac_binding_config)
2160
2283
  @desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
2161
2284
  @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
2162
2285
  @desired_secret_manager_config = args[:desired_secret_manager_config] if args.key?(:desired_secret_manager_config)
@@ -2173,6 +2296,62 @@ module Google
2173
2296
  @etag = args[:etag] if args.key?(:etag)
2174
2297
  @private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
2175
2298
  @removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
2299
+ @user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
2300
+ end
2301
+ end
2302
+
2303
+ # ClusterUpgradeInfo contains the upgrade information of a cluster.
2304
+ class ClusterUpgradeInfo
2305
+ include Google::Apis::Core::Hashable
2306
+
2307
+ # The auto upgrade status.
2308
+ # Corresponds to the JSON property `autoUpgradeStatus`
2309
+ # @return [Array<String>]
2310
+ attr_accessor :auto_upgrade_status
2311
+
2312
+ # The cluster's current minor version's end of extended support timestamp.
2313
+ # Corresponds to the JSON property `endOfExtendedSupportTimestamp`
2314
+ # @return [String]
2315
+ attr_accessor :end_of_extended_support_timestamp
2316
+
2317
+ # The cluster's current minor version's end of standard support timestamp.
2318
+ # Corresponds to the JSON property `endOfStandardSupportTimestamp`
2319
+ # @return [String]
2320
+ attr_accessor :end_of_standard_support_timestamp
2321
+
2322
+ # minor_target_version indicates the target version for minor upgrade.
2323
+ # Corresponds to the JSON property `minorTargetVersion`
2324
+ # @return [String]
2325
+ attr_accessor :minor_target_version
2326
+
2327
+ # patch_target_version indicates the target version for patch upgrade.
2328
+ # Corresponds to the JSON property `patchTargetVersion`
2329
+ # @return [String]
2330
+ attr_accessor :patch_target_version
2331
+
2332
+ # The auto upgrade paused reason.
2333
+ # Corresponds to the JSON property `pausedReason`
2334
+ # @return [Array<String>]
2335
+ attr_accessor :paused_reason
2336
+
2337
+ # The list of past auto upgrades.
2338
+ # Corresponds to the JSON property `upgradeDetails`
2339
+ # @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
2340
+ attr_accessor :upgrade_details
2341
+
2342
+ def initialize(**args)
2343
+ update!(**args)
2344
+ end
2345
+
2346
+ # Update properties of this object
2347
+ def update!(**args)
2348
+ @auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
2349
+ @end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
2350
+ @end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
2351
+ @minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
2352
+ @patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
2353
+ @paused_reason = args[:paused_reason] if args.key?(:paused_reason)
2354
+ @upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
2176
2355
  end
2177
2356
  end
2178
2357
 
@@ -2360,6 +2539,31 @@ module Google
2360
2539
  end
2361
2540
  end
2362
2541
 
2542
+ # Configuration for all of the cluster's control plane endpoints.
2543
+ class ControlPlaneEndpointsConfig
2544
+ include Google::Apis::Core::Hashable
2545
+
2546
+ # Describes the configuration of a DNS endpoint.
2547
+ # Corresponds to the JSON property `dnsEndpointConfig`
2548
+ # @return [Google::Apis::ContainerV1beta1::DnsEndpointConfig]
2549
+ attr_accessor :dns_endpoint_config
2550
+
2551
+ # IP endpoints configuration.
2552
+ # Corresponds to the JSON property `ipEndpointsConfig`
2553
+ # @return [Google::Apis::ContainerV1beta1::IpEndpointsConfig]
2554
+ attr_accessor :ip_endpoints_config
2555
+
2556
+ def initialize(**args)
2557
+ update!(**args)
2558
+ end
2559
+
2560
+ # Update properties of this object
2561
+ def update!(**args)
2562
+ @dns_endpoint_config = args[:dns_endpoint_config] if args.key?(:dns_endpoint_config)
2563
+ @ip_endpoints_config = args[:ip_endpoints_config] if args.key?(:ip_endpoints_config)
2564
+ end
2565
+ end
2566
+
2363
2567
  # Configuration for fine-grained cost management feature.
2364
2568
  class CostManagementConfig
2365
2569
  include Google::Apis::Core::Hashable
@@ -2513,11 +2717,41 @@ module Google
2513
2717
  end
2514
2718
  end
2515
2719
 
2720
+ # Describes the configuration of a DNS endpoint.
2721
+ class DnsEndpointConfig
2722
+ include Google::Apis::Core::Hashable
2723
+
2724
+ # Controls whether user traffic is allowed over this endpoint. Note that GCP-
2725
+ # managed services may still use the endpoint even if this is false.
2726
+ # Corresponds to the JSON property `allowExternalTraffic`
2727
+ # @return [Boolean]
2728
+ attr_accessor :allow_external_traffic
2729
+ alias_method :allow_external_traffic?, :allow_external_traffic
2730
+
2731
+ # Output only. The cluster's DNS endpoint configuration. A DNS format address.
2732
+ # This is accessible from the public internet. Ex: uid.us-central1.gke.goog.
2733
+ # Always present, but the behavior may change according to the value of
2734
+ # DNSEndpointConfig.allow_external_traffic.
2735
+ # Corresponds to the JSON property `endpoint`
2736
+ # @return [String]
2737
+ attr_accessor :endpoint
2738
+
2739
+ def initialize(**args)
2740
+ update!(**args)
2741
+ end
2742
+
2743
+ # Update properties of this object
2744
+ def update!(**args)
2745
+ @allow_external_traffic = args[:allow_external_traffic] if args.key?(:allow_external_traffic)
2746
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
2747
+ end
2748
+ end
2749
+
2516
2750
  # Time window specified for daily maintenance operations.
2517
2751
  class DailyMaintenanceWindow
2518
2752
  include Google::Apis::Core::Hashable
2519
2753
 
2520
- # [Output only] Duration of the time window, automatically chosen to be smallest
2754
+ # Output only. Duration of the time window, automatically chosen to be smallest
2521
2755
  # possible in the given scenario.
2522
2756
  # Corresponds to the JSON property `duration`
2523
2757
  # @return [String]
@@ -2647,6 +2881,25 @@ module Google
2647
2881
  end
2648
2882
  end
2649
2883
 
2884
+ # DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
2885
+ class DesiredEnterpriseConfig
2886
+ include Google::Apis::Core::Hashable
2887
+
2888
+ # desired_tier specifies the desired tier of the cluster.
2889
+ # Corresponds to the JSON property `desiredTier`
2890
+ # @return [String]
2891
+ attr_accessor :desired_tier
2892
+
2893
+ def initialize(**args)
2894
+ update!(**args)
2895
+ end
2896
+
2897
+ # Update properties of this object
2898
+ def update!(**args)
2899
+ @desired_tier = args[:desired_tier] if args.key?(:desired_tier)
2900
+ end
2901
+ end
2902
+
2650
2903
  # Configuration for NodeLocal DNSCache
2651
2904
  class DnsCacheConfig
2652
2905
  include Google::Apis::Core::Hashable
@@ -2687,12 +2940,16 @@ module Google
2687
2940
  class EnterpriseConfig
2688
2941
  include Google::Apis::Core::Hashable
2689
2942
 
2690
- # Output only. [Output only] cluster_tier specifies the premium tier of the
2691
- # cluster.
2943
+ # Output only. cluster_tier indicates the effective tier of the cluster.
2692
2944
  # Corresponds to the JSON property `clusterTier`
2693
2945
  # @return [String]
2694
2946
  attr_accessor :cluster_tier
2695
2947
 
2948
+ # desired_tier specifies the desired tier of the cluster.
2949
+ # Corresponds to the JSON property `desiredTier`
2950
+ # @return [String]
2951
+ attr_accessor :desired_tier
2952
+
2696
2953
  def initialize(**args)
2697
2954
  update!(**args)
2698
2955
  end
@@ -2700,6 +2957,7 @@ module Google
2700
2957
  # Update properties of this object
2701
2958
  def update!(**args)
2702
2959
  @cluster_tier = args[:cluster_tier] if args.key?(:cluster_tier)
2960
+ @desired_tier = args[:desired_tier] if args.key?(:desired_tier)
2703
2961
  end
2704
2962
  end
2705
2963
 
@@ -2811,14 +3069,14 @@ module Google
2811
3069
  class Fleet
2812
3070
  include Google::Apis::Core::Hashable
2813
3071
 
2814
- # [Output only] The full resource name of the registered fleet membership of the
3072
+ # Output only. The full resource name of the registered fleet membership of the
2815
3073
  # cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/
2816
3074
  # memberships/*`.
2817
3075
  # Corresponds to the JSON property `membership`
2818
3076
  # @return [String]
2819
3077
  attr_accessor :membership
2820
3078
 
2821
- # [Output only] Whether the cluster has been registered through the fleet API.
3079
+ # Output only. Whether the cluster has been registered through the fleet API.
2822
3080
  # Corresponds to the JSON property `preRegistered`
2823
3081
  # @return [Boolean]
2824
3082
  attr_accessor :pre_registered
@@ -3320,9 +3578,9 @@ module Google
3320
3578
  attr_accessor :create_subnetwork
3321
3579
  alias_method :create_subnetwork?, :create_subnetwork
3322
3580
 
3323
- # Output only. [Output only] The utilization of the cluster default IPv4 range
3324
- # for the pod. The ratio is Usage/[Total number of IPs in the secondary range],
3325
- # Usage=numNodes*numZones*podIPsPerNode.
3581
+ # Output only. The utilization of the cluster default IPv4 range for the pod.
3582
+ # The ratio is Usage/[Total number of IPs in the secondary range], Usage=
3583
+ # numNodes*numZones*podIPsPerNode.
3326
3584
  # Corresponds to the JSON property `defaultPodIpv4RangeUtilization`
3327
3585
  # @return [Float]
3328
3586
  attr_accessor :default_pod_ipv4_range_utilization
@@ -3370,7 +3628,7 @@ module Google
3370
3628
  # @return [String]
3371
3629
  attr_accessor :services_ipv4_cidr_block
3372
3630
 
3373
- # Output only. [Output only] The services IPv6 CIDR block for the cluster.
3631
+ # Output only. The services IPv6 CIDR block for the cluster.
3374
3632
  # Corresponds to the JSON property `servicesIpv6CidrBlock`
3375
3633
  # @return [String]
3376
3634
  attr_accessor :services_ipv6_cidr_block
@@ -3388,7 +3646,7 @@ module Google
3388
3646
  # @return [String]
3389
3647
  attr_accessor :stack_type
3390
3648
 
3391
- # Output only. [Output only] The subnet's IPv6 CIDR block used by nodes and pods.
3649
+ # Output only. The subnet's IPv6 CIDR block used by nodes and pods.
3392
3650
  # Corresponds to the JSON property `subnetIpv6CidrBlock`
3393
3651
  # @return [String]
3394
3652
  attr_accessor :subnet_ipv6_cidr_block
@@ -3460,6 +3718,76 @@ module Google
3460
3718
  end
3461
3719
  end
3462
3720
 
3721
+ # IP endpoints configuration.
3722
+ class IpEndpointsConfig
3723
+ include Google::Apis::Core::Hashable
3724
+
3725
+ # Configuration options for the master authorized networks feature. Enabled
3726
+ # master authorized networks will disallow all external traffic to access
3727
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
3728
+ # Google Compute Engine Public IPs and Google Prod IPs.
3729
+ # Corresponds to the JSON property `authorizedNetworksConfig`
3730
+ # @return [Google::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig]
3731
+ attr_accessor :authorized_networks_config
3732
+
3733
+ # Controls whether the control plane allows access through a public IP. It is
3734
+ # invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this
3735
+ # field at the same time.
3736
+ # Corresponds to the JSON property `enablePublicEndpoint`
3737
+ # @return [Boolean]
3738
+ attr_accessor :enable_public_endpoint
3739
+ alias_method :enable_public_endpoint?, :enable_public_endpoint
3740
+
3741
+ # Controls whether to allow direct IP access.
3742
+ # Corresponds to the JSON property `enabled`
3743
+ # @return [Boolean]
3744
+ attr_accessor :enabled
3745
+ alias_method :enabled?, :enabled
3746
+
3747
+ # Controls whether the control plane's private endpoint is accessible from
3748
+ # sources in other regions. It is invalid to specify both
3749
+ # PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.
3750
+ # Corresponds to the JSON property `globalAccess`
3751
+ # @return [Boolean]
3752
+ attr_accessor :global_access
3753
+ alias_method :global_access?, :global_access
3754
+
3755
+ # Output only. The internal IP address of this cluster's control plane. Only
3756
+ # populated if enabled.
3757
+ # Corresponds to the JSON property `privateEndpoint`
3758
+ # @return [String]
3759
+ attr_accessor :private_endpoint
3760
+
3761
+ # Subnet to provision the master's private endpoint during cluster creation.
3762
+ # Specified in projects/*/regions/*/subnetworks/* format. It is invalid to
3763
+ # specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at
3764
+ # the same time.
3765
+ # Corresponds to the JSON property `privateEndpointSubnetwork`
3766
+ # @return [String]
3767
+ attr_accessor :private_endpoint_subnetwork
3768
+
3769
+ # Output only. The external IP address of this cluster's control plane. Only
3770
+ # populated if enabled.
3771
+ # Corresponds to the JSON property `publicEndpoint`
3772
+ # @return [String]
3773
+ attr_accessor :public_endpoint
3774
+
3775
+ def initialize(**args)
3776
+ update!(**args)
3777
+ end
3778
+
3779
+ # Update properties of this object
3780
+ def update!(**args)
3781
+ @authorized_networks_config = args[:authorized_networks_config] if args.key?(:authorized_networks_config)
3782
+ @enable_public_endpoint = args[:enable_public_endpoint] if args.key?(:enable_public_endpoint)
3783
+ @enabled = args[:enabled] if args.key?(:enabled)
3784
+ @global_access = args[:global_access] if args.key?(:global_access)
3785
+ @private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
3786
+ @private_endpoint_subnetwork = args[:private_endpoint_subnetwork] if args.key?(:private_endpoint_subnetwork)
3787
+ @public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
3788
+ end
3789
+ end
3790
+
3463
3791
  # IdentityServiceConfig is configuration for Identity Service which allows
3464
3792
  # customers to use external identity providers with the K8S API
3465
3793
  class IdentityServiceConfig
@@ -3695,7 +4023,7 @@ module Google
3695
4023
  # the nodes. The following parameters are supported. net.core.busy_poll net.core.
3696
4024
  # busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
3697
4025
  # net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.
3698
- # ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
4026
+ # ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall
3699
4027
  # Corresponds to the JSON property `sysctls`
3700
4028
  # @return [Hash<String,String>]
3701
4029
  attr_accessor :sysctls
@@ -4047,6 +4375,12 @@ module Google
4047
4375
  class ManagedPrometheusConfig
4048
4376
  include Google::Apis::Core::Hashable
4049
4377
 
4378
+ # AutoMonitoringConfig defines the configuration for GKE Workload Auto-
4379
+ # Monitoring.
4380
+ # Corresponds to the JSON property `autoMonitoringConfig`
4381
+ # @return [Google::Apis::ContainerV1beta1::AutoMonitoringConfig]
4382
+ attr_accessor :auto_monitoring_config
4383
+
4050
4384
  # Enable Managed Collection.
4051
4385
  # Corresponds to the JSON property `enabled`
4052
4386
  # @return [Boolean]
@@ -4059,6 +4393,7 @@ module Google
4059
4393
 
4060
4394
  # Update properties of this object
4061
4395
  def update!(**args)
4396
+ @auto_monitoring_config = args[:auto_monitoring_config] if args.key?(:auto_monitoring_config)
4062
4397
  @enabled = args[:enabled] if args.key?(:enabled)
4063
4398
  end
4064
4399
  end
@@ -4081,8 +4416,8 @@ module Google
4081
4416
  class MasterAuth
4082
4417
  include Google::Apis::Core::Hashable
4083
4418
 
4084
- # [Output only] Base64-encoded public certificate used by clients to
4085
- # authenticate to the cluster endpoint.
4419
+ # Output only. Base64-encoded public certificate used by clients to authenticate
4420
+ # to the cluster endpoint. Issued only if client_certificate_config is set.
4086
4421
  # Corresponds to the JSON property `clientCertificate`
4087
4422
  # @return [String]
4088
4423
  attr_accessor :client_certificate
@@ -4092,13 +4427,14 @@ module Google
4092
4427
  # @return [Google::Apis::ContainerV1beta1::ClientCertificateConfig]
4093
4428
  attr_accessor :client_certificate_config
4094
4429
 
4095
- # [Output only] Base64-encoded private key used by clients to authenticate to
4096
- # the cluster endpoint.
4430
+ # Output only. Base64-encoded private key used by clients to authenticate to the
4431
+ # cluster endpoint.
4097
4432
  # Corresponds to the JSON property `clientKey`
4098
4433
  # @return [String]
4099
4434
  attr_accessor :client_key
4100
4435
 
4101
- #
4436
+ # Output only. Base64-encoded public certificate that is the root of trust for
4437
+ # the cluster.
4102
4438
  # Corresponds to the JSON property `clusterCaCertificate`
4103
4439
  # @return [String]
4104
4440
  attr_accessor :cluster_ca_certificate
@@ -4165,6 +4501,12 @@ module Google
4165
4501
  attr_accessor :gcp_public_cidrs_access_enabled
4166
4502
  alias_method :gcp_public_cidrs_access_enabled?, :gcp_public_cidrs_access_enabled
4167
4503
 
4504
+ # Whether master authorized networks is enforced on private endpoint or not.
4505
+ # Corresponds to the JSON property `privateEndpointEnforcementEnabled`
4506
+ # @return [Boolean]
4507
+ attr_accessor :private_endpoint_enforcement_enabled
4508
+ alias_method :private_endpoint_enforcement_enabled?, :private_endpoint_enforcement_enabled
4509
+
4168
4510
  def initialize(**args)
4169
4511
  update!(**args)
4170
4512
  end
@@ -4174,6 +4516,7 @@ module Google
4174
4516
  @cidr_blocks = args[:cidr_blocks] if args.key?(:cidr_blocks)
4175
4517
  @enabled = args[:enabled] if args.key?(:enabled)
4176
4518
  @gcp_public_cidrs_access_enabled = args[:gcp_public_cidrs_access_enabled] if args.key?(:gcp_public_cidrs_access_enabled)
4519
+ @private_endpoint_enforcement_enabled = args[:private_endpoint_enforcement_enabled] if args.key?(:private_endpoint_enforcement_enabled)
4177
4520
  end
4178
4521
  end
4179
4522
 
@@ -4320,6 +4663,15 @@ module Google
4320
4663
  # @return [String]
4321
4664
  attr_accessor :datapath_provider
4322
4665
 
4666
+ # Controls whether by default nodes have private IP addresses only. It is
4667
+ # invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field
4668
+ # at the same time. To update the default setting, use ClusterUpdate.
4669
+ # desired_default_enable_private_nodes
4670
+ # Corresponds to the JSON property `defaultEnablePrivateNodes`
4671
+ # @return [Boolean]
4672
+ attr_accessor :default_enable_private_nodes
4673
+ alias_method :default_enable_private_nodes?, :default_enable_private_nodes
4674
+
4323
4675
  # DefaultSnatStatus contains the desired state of whether default sNAT should be
4324
4676
  # disabled on the cluster.
4325
4677
  # Corresponds to the JSON property `defaultSnatStatus`
@@ -4409,6 +4761,7 @@ module Google
4409
4761
  # Update properties of this object
4410
4762
  def update!(**args)
4411
4763
  @datapath_provider = args[:datapath_provider] if args.key?(:datapath_provider)
4764
+ @default_enable_private_nodes = args[:default_enable_private_nodes] if args.key?(:default_enable_private_nodes)
4412
4765
  @default_snat_status = args[:default_snat_status] if args.key?(:default_snat_status)
4413
4766
  @dns_config = args[:dns_config] if args.key?(:dns_config)
4414
4767
  @enable_cilium_clusterwide_network_policy = args[:enable_cilium_clusterwide_network_policy] if args.key?(:enable_cilium_clusterwide_network_policy)
@@ -4604,6 +4957,14 @@ module Google
4604
4957
  # @return [String]
4605
4958
  attr_accessor :disk_type
4606
4959
 
4960
+ # Output only. effective_cgroup_mode is the cgroup mode actually used by the
4961
+ # node pool. It is determined by the cgroup mode specified in the
4962
+ # LinuxNodeConfig or the default cgroup mode based on the cluster creation
4963
+ # version.
4964
+ # Corresponds to the JSON property `effectiveCgroupMode`
4965
+ # @return [String]
4966
+ attr_accessor :effective_cgroup_mode
4967
+
4607
4968
  # Optional. Reserved for future use.
4608
4969
  # Corresponds to the JSON property `enableConfidentialStorage`
4609
4970
  # @return [Boolean]
@@ -4685,6 +5046,12 @@ module Google
4685
5046
  # @return [Fixnum]
4686
5047
  attr_accessor :local_ssd_count
4687
5048
 
5049
+ # Specifies which method should be used for encrypting the Local SSDs attahced
5050
+ # to the node.
5051
+ # Corresponds to the JSON property `localSsdEncryptionMode`
5052
+ # @return [String]
5053
+ attr_accessor :local_ssd_encryption_mode
5054
+
4688
5055
  # NodePoolLoggingConfig specifies logging configuration for nodepools.
4689
5056
  # Corresponds to the JSON property `loggingConfig`
4690
5057
  # @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
@@ -4816,6 +5183,11 @@ module Google
4816
5183
  attr_accessor :spot
4817
5184
  alias_method :spot?, :spot
4818
5185
 
5186
+ # List of Storage Pools where boot disks are provisioned.
5187
+ # Corresponds to the JSON property `storagePools`
5188
+ # @return [Array<String>]
5189
+ attr_accessor :storage_pools
5190
+
4819
5191
  # The list of instance tags applied to all nodes. Tags are used to identify
4820
5192
  # valid sources or targets for network firewalls and are specified by the client
4821
5193
  # during cluster or node pool creation. Each tag within the list must comply
@@ -4857,6 +5229,7 @@ module Google
4857
5229
  @containerd_config = args[:containerd_config] if args.key?(:containerd_config)
4858
5230
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
4859
5231
  @disk_type = args[:disk_type] if args.key?(:disk_type)
5232
+ @effective_cgroup_mode = args[:effective_cgroup_mode] if args.key?(:effective_cgroup_mode)
4860
5233
  @enable_confidential_storage = args[:enable_confidential_storage] if args.key?(:enable_confidential_storage)
4861
5234
  @ephemeral_storage_config = args[:ephemeral_storage_config] if args.key?(:ephemeral_storage_config)
4862
5235
  @ephemeral_storage_local_ssd_config = args[:ephemeral_storage_local_ssd_config] if args.key?(:ephemeral_storage_local_ssd_config)
@@ -4870,6 +5243,7 @@ module Google
4870
5243
  @linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
4871
5244
  @local_nvme_ssd_block_config = args[:local_nvme_ssd_block_config] if args.key?(:local_nvme_ssd_block_config)
4872
5245
  @local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
5246
+ @local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode)
4873
5247
  @logging_config = args[:logging_config] if args.key?(:logging_config)
4874
5248
  @machine_type = args[:machine_type] if args.key?(:machine_type)
4875
5249
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -4887,6 +5261,7 @@ module Google
4887
5261
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
4888
5262
  @sole_tenant_config = args[:sole_tenant_config] if args.key?(:sole_tenant_config)
4889
5263
  @spot = args[:spot] if args.key?(:spot)
5264
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
4890
5265
  @tags = args[:tags] if args.key?(:tags)
4891
5266
  @taints = args[:taints] if args.key?(:taints)
4892
5267
  @windows_node_config = args[:windows_node_config] if args.key?(:windows_node_config)
@@ -5083,8 +5458,8 @@ module Google
5083
5458
  alias_method :create_pod_range?, :create_pod_range
5084
5459
 
5085
5460
  # Whether nodes have internal IP addresses only. If enable_private_nodes is not
5086
- # specified, then the value is derived from cluster.privateClusterConfig.
5087
- # enablePrivateNodes
5461
+ # specified, then the value is derived from Cluster.NetworkConfig.
5462
+ # default_enable_private_nodes
5088
5463
  # Corresponds to the JSON property `enablePrivateNodes`
5089
5464
  # @return [Boolean]
5090
5465
  attr_accessor :enable_private_nodes
@@ -5111,9 +5486,9 @@ module Google
5111
5486
  # @return [String]
5112
5487
  attr_accessor :pod_ipv4_cidr_block
5113
5488
 
5114
- # Output only. [Output only] The utilization of the IPv4 range for the pod. The
5115
- # ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes*
5116
- # numZones*podIPsPerNode.
5489
+ # Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/
5490
+ # [Total number of IPs in the secondary range], Usage=numNodes*numZones*
5491
+ # podIPsPerNode.
5117
5492
  # Corresponds to the JSON property `podIpv4RangeUtilization`
5118
5493
  # @return [Float]
5119
5494
  attr_accessor :pod_ipv4_range_utilization
@@ -5192,7 +5567,7 @@ module Google
5192
5567
  # @return [Fixnum]
5193
5568
  attr_accessor :initial_node_count
5194
5569
 
5195
- # [Output only] The resource URLs of the [managed instance groups](https://cloud.
5570
+ # Output only. The resource URLs of the [managed instance groups](https://cloud.
5196
5571
  # google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
5197
5572
  # associated with this node pool. During the node pool blue-green upgrade
5198
5573
  # operation, the URLs contain both blue and green resources.
@@ -5236,7 +5611,7 @@ module Google
5236
5611
  # @return [Google::Apis::ContainerV1beta1::PlacementPolicy]
5237
5612
  attr_accessor :placement_policy
5238
5613
 
5239
- # [Output only] The pod CIDR block size per node in this node pool.
5614
+ # Output only. The pod CIDR block size per node in this node pool.
5240
5615
  # Corresponds to the JSON property `podIpv4CidrSize`
5241
5616
  # @return [Fixnum]
5242
5617
  attr_accessor :pod_ipv4_cidr_size
@@ -5246,17 +5621,17 @@ module Google
5246
5621
  # @return [Google::Apis::ContainerV1beta1::QueuedProvisioning]
5247
5622
  attr_accessor :queued_provisioning
5248
5623
 
5249
- # [Output only] Server-defined URL for the resource.
5624
+ # Output only. Server-defined URL for the resource.
5250
5625
  # Corresponds to the JSON property `selfLink`
5251
5626
  # @return [String]
5252
5627
  attr_accessor :self_link
5253
5628
 
5254
- # [Output only] The status of the nodes in this pool instance.
5629
+ # Output only. The status of the nodes in this pool instance.
5255
5630
  # Corresponds to the JSON property `status`
5256
5631
  # @return [String]
5257
5632
  attr_accessor :status
5258
5633
 
5259
- # [Output only] Deprecated. Use conditions instead. Additional information about
5634
+ # Output only. Deprecated. Use conditions instead. Additional information about
5260
5635
  # the current status of this node pool instance, if available.
5261
5636
  # Corresponds to the JSON property `statusMessage`
5262
5637
  # @return [String]
@@ -5345,6 +5720,11 @@ module Google
5345
5720
  class NodePoolAutoConfig
5346
5721
  include Google::Apis::Core::Hashable
5347
5722
 
5723
+ # Parameters that can be configured on Linux nodes.
5724
+ # Corresponds to the JSON property `linuxNodeConfig`
5725
+ # @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
5726
+ attr_accessor :linux_node_config
5727
+
5348
5728
  # Collection of Compute Engine network tags that can be applied to a node's
5349
5729
  # underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
5350
5730
  # docs/reference/rest/v1/NodeConfig)).
@@ -5372,6 +5752,7 @@ module Google
5372
5752
 
5373
5753
  # Update properties of this object
5374
5754
  def update!(**args)
5755
+ @linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
5375
5756
  @network_tags = args[:network_tags] if args.key?(:network_tags)
5376
5757
  @node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
5377
5758
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
@@ -5400,19 +5781,19 @@ module Google
5400
5781
  # @return [String]
5401
5782
  attr_accessor :location_policy
5402
5783
 
5403
- # Maximum number of nodes for one location in the NodePool. Must be >=
5784
+ # Maximum number of nodes for one location in the node pool. Must be >=
5404
5785
  # min_node_count. There has to be enough quota to scale up the cluster.
5405
5786
  # Corresponds to the JSON property `maxNodeCount`
5406
5787
  # @return [Fixnum]
5407
5788
  attr_accessor :max_node_count
5408
5789
 
5409
- # Minimum number of nodes for one location in the NodePool. Must be >= 1 and <=
5410
- # max_node_count.
5790
+ # Minimum number of nodes for one location in the node pool. Must be greater
5791
+ # than or equal to 0 and less than or equal to max_node_count.
5411
5792
  # Corresponds to the JSON property `minNodeCount`
5412
5793
  # @return [Fixnum]
5413
5794
  attr_accessor :min_node_count
5414
5795
 
5415
- # Maximum number of nodes in the node pool. Must be greater than
5796
+ # Maximum number of nodes in the node pool. Must be greater than or equal to
5416
5797
  # total_min_node_count. There has to be enough quota to scale up the cluster.
5417
5798
  # The total_*_node_count fields are mutually exclusive with the *_node_count
5418
5799
  # fields.
@@ -5420,9 +5801,9 @@ module Google
5420
5801
  # @return [Fixnum]
5421
5802
  attr_accessor :total_max_node_count
5422
5803
 
5423
- # Minimum number of nodes in the node pool. Must be greater than 1 less than
5424
- # total_max_node_count. The total_*_node_count fields are mutually exclusive
5425
- # with the *_node_count fields.
5804
+ # Minimum number of nodes in the node pool. Must be greater than or equal to 0
5805
+ # and less than or equal to total_max_node_count. The total_*_node_count fields
5806
+ # are mutually exclusive with the *_node_count fields.
5426
5807
  # Corresponds to the JSON property `totalMinNodeCount`
5427
5808
  # @return [Fixnum]
5428
5809
  attr_accessor :total_min_node_count
@@ -5481,6 +5862,61 @@ module Google
5481
5862
  end
5482
5863
  end
5483
5864
 
5865
+ # NodePoolUpgradeInfo contains the upgrade information of a nodepool.
5866
+ class NodePoolUpgradeInfo
5867
+ include Google::Apis::Core::Hashable
5868
+
5869
+ # The auto upgrade status.
5870
+ # Corresponds to the JSON property `autoUpgradeStatus`
5871
+ # @return [Array<String>]
5872
+ attr_accessor :auto_upgrade_status
5873
+
5874
+ # The nodepool's current minor version's end of extended support timestamp.
5875
+ # Corresponds to the JSON property `endOfExtendedSupportTimestamp`
5876
+ # @return [String]
5877
+ attr_accessor :end_of_extended_support_timestamp
5878
+
5879
+ # The nodepool's current minor version's end of standard support timestamp.
5880
+ # Corresponds to the JSON property `endOfStandardSupportTimestamp`
5881
+ # @return [String]
5882
+ attr_accessor :end_of_standard_support_timestamp
5883
+
5884
+ # minor_target_version indicates the target version for minor upgrade.
5885
+ # Corresponds to the JSON property `minorTargetVersion`
5886
+ # @return [String]
5887
+ attr_accessor :minor_target_version
5888
+
5889
+ # patch_target_version indicates the target version for patch upgrade.
5890
+ # Corresponds to the JSON property `patchTargetVersion`
5891
+ # @return [String]
5892
+ attr_accessor :patch_target_version
5893
+
5894
+ # The auto upgrade paused reason.
5895
+ # Corresponds to the JSON property `pausedReason`
5896
+ # @return [Array<String>]
5897
+ attr_accessor :paused_reason
5898
+
5899
+ # The list of past auto upgrades.
5900
+ # Corresponds to the JSON property `upgradeDetails`
5901
+ # @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
5902
+ attr_accessor :upgrade_details
5903
+
5904
+ def initialize(**args)
5905
+ update!(**args)
5906
+ end
5907
+
5908
+ # Update properties of this object
5909
+ def update!(**args)
5910
+ @auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
5911
+ @end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
5912
+ @end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
5913
+ @minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
5914
+ @patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
5915
+ @paused_reason = args[:paused_reason] if args.key?(:paused_reason)
5916
+ @upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
5917
+ end
5918
+ end
5919
+
5484
5920
  # Kubernetes taint is composed of three fields: key, value, and effect. Effect
5485
5921
  # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See
5486
5922
  # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
@@ -5565,12 +6001,12 @@ module Google
5565
6001
  # @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
5566
6002
  attr_accessor :cluster_conditions
5567
6003
 
5568
- # Detailed operation progress, if available.
6004
+ # Output only. Detailed operation progress, if available.
5569
6005
  # Corresponds to the JSON property `detail`
5570
6006
  # @return [String]
5571
6007
  attr_accessor :detail
5572
6008
 
5573
- # [Output only] The time the operation completed, in [RFC3339](https://www.ietf.
6009
+ # Output only. The time the operation completed, in [RFC3339](https://www.ietf.
5574
6010
  # org/rfc/rfc3339.txt) text format.
5575
6011
  # Corresponds to the JSON property `endTime`
5576
6012
  # @return [String]
@@ -5586,15 +6022,15 @@ module Google
5586
6022
  # @return [Google::Apis::ContainerV1beta1::Status]
5587
6023
  attr_accessor :error
5588
6024
 
5589
- # [Output only] The name of the Google Compute Engine [zone](https://cloud.
5590
- # google.com/compute/docs/regions-zones/regions-zones#available) or [region](
5591
- # https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
5592
- # in which the cluster resides.
6025
+ # Output only. The name of the Google Compute Engine [zone](https://cloud.google.
6026
+ # com/compute/docs/regions-zones/regions-zones#available) or [region](https://
6027
+ # cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
6028
+ # the cluster resides.
5593
6029
  # Corresponds to the JSON property `location`
5594
6030
  # @return [String]
5595
6031
  attr_accessor :location
5596
6032
 
5597
- # The server-assigned ID for the operation.
6033
+ # Output only. The server-assigned ID for the operation.
5598
6034
  # Corresponds to the JSON property `name`
5599
6035
  # @return [String]
5600
6036
  attr_accessor :name
@@ -5605,7 +6041,7 @@ module Google
5605
6041
  # @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
5606
6042
  attr_accessor :nodepool_conditions
5607
6043
 
5608
- # The operation type.
6044
+ # Output only. The operation type.
5609
6045
  # Corresponds to the JSON property `operationType`
5610
6046
  # @return [String]
5611
6047
  attr_accessor :operation_type
@@ -5615,19 +6051,20 @@ module Google
5615
6051
  # @return [Google::Apis::ContainerV1beta1::OperationProgress]
5616
6052
  attr_accessor :progress
5617
6053
 
5618
- # Server-defined URI for the operation. Example: `https://container.googleapis.
5619
- # com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`.
6054
+ # Output only. Server-defined URI for the operation. Example: `https://container.
6055
+ # googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/
6056
+ # operation-123`.
5620
6057
  # Corresponds to the JSON property `selfLink`
5621
6058
  # @return [String]
5622
6059
  attr_accessor :self_link
5623
6060
 
5624
- # [Output only] The time the operation started, in [RFC3339](https://www.ietf.
5625
- # org/rfc/rfc3339.txt) text format.
6061
+ # Output only. The time the operation started, in [RFC3339](https://www.ietf.org/
6062
+ # rfc/rfc3339.txt) text format.
5626
6063
  # Corresponds to the JSON property `startTime`
5627
6064
  # @return [String]
5628
6065
  attr_accessor :start_time
5629
6066
 
5630
- # The current status of the operation.
6067
+ # Output only. The current status of the operation.
5631
6068
  # Corresponds to the JSON property `status`
5632
6069
  # @return [String]
5633
6070
  attr_accessor :status
@@ -5638,21 +6075,21 @@ module Google
5638
6075
  # @return [String]
5639
6076
  attr_accessor :status_message
5640
6077
 
5641
- # Server-defined URI for the target of the operation. The format of this is a
5642
- # URI to the resource being modified (such as a cluster, node pool, or node).
5643
- # For node pool repairs, there may be multiple nodes being repaired, but only
5644
- # one will be the target. Examples: - ## `https://container.googleapis.com/v1/
5645
- # projects/123/locations/us-central1/clusters/my-cluster` ## `https://container.
5646
- # googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/
5647
- # nodePools/my-np` `https://container.googleapis.com/v1/projects/123/zones/us-
5648
- # central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
6078
+ # Output only. Server-defined URI for the target of the operation. The format of
6079
+ # this is a URI to the resource being modified (such as a cluster, node pool, or
6080
+ # node). For node pool repairs, there may be multiple nodes being repaired, but
6081
+ # only one will be the target. Examples: - ## `https://container.googleapis.com/
6082
+ # v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://
6083
+ # container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-
6084
+ # cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/
6085
+ # zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
5649
6086
  # Corresponds to the JSON property `targetLink`
5650
6087
  # @return [String]
5651
6088
  attr_accessor :target_link
5652
6089
 
5653
- # The name of the Google Compute Engine [zone](https://cloud.google.com/compute/
5654
- # docs/zones#available) in which the operation is taking place. This field is
5655
- # deprecated, use location instead.
6090
+ # Output only. The name of the Google Compute Engine [zone](https://cloud.google.
6091
+ # com/compute/docs/zones#available) in which the operation is taking place. This
6092
+ # field is deprecated, use location instead.
5656
6093
  # Corresponds to the JSON property `zone`
5657
6094
  # @return [String]
5658
6095
  attr_accessor :zone
@@ -5790,6 +6227,26 @@ module Google
5790
6227
  end
5791
6228
  end
5792
6229
 
6230
+ # Configuration for the Cloud Storage Parallelstore CSI driver.
6231
+ class ParallelstoreCsiDriverConfig
6232
+ include Google::Apis::Core::Hashable
6233
+
6234
+ # Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
6235
+ # Corresponds to the JSON property `enabled`
6236
+ # @return [Boolean]
6237
+ attr_accessor :enabled
6238
+ alias_method :enabled?, :enabled
6239
+
6240
+ def initialize(**args)
6241
+ update!(**args)
6242
+ end
6243
+
6244
+ # Update properties of this object
6245
+ def update!(**args)
6246
+ @enabled = args[:enabled] if args.key?(:enabled)
6247
+ end
6248
+ end
6249
+
5793
6250
  # ParentProductConfig is the configuration of the parent product of the cluster.
5794
6251
  # This field is used by Google internal products that are built on top of a GKE
5795
6252
  # cluster and take the ownership of the cluster.
@@ -5851,6 +6308,26 @@ module Google
5851
6308
  end
5852
6309
  end
5853
6310
 
6311
+ # PodAutoscaling is used for configuration of parameters for workload
6312
+ # autoscaling.
6313
+ class PodAutoscaling
6314
+ include Google::Apis::Core::Hashable
6315
+
6316
+ # Selected Horizontal Pod Autoscaling profile.
6317
+ # Corresponds to the JSON property `hpaProfile`
6318
+ # @return [String]
6319
+ attr_accessor :hpa_profile
6320
+
6321
+ def initialize(**args)
6322
+ update!(**args)
6323
+ end
6324
+
6325
+ # Update properties of this object
6326
+ def update!(**args)
6327
+ @hpa_profile = args[:hpa_profile] if args.key?(:hpa_profile)
6328
+ end
6329
+ end
6330
+
5854
6331
  # [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
5855
6332
  class PodCidrOverprovisionConfig
5856
6333
  include Google::Apis::Core::Hashable
@@ -5918,7 +6395,10 @@ module Google
5918
6395
  class PrivateClusterConfig
5919
6396
  include Google::Apis::Core::Hashable
5920
6397
 
5921
- # Whether the master's internal IP address is used as the cluster endpoint.
6398
+ # Whether the master's internal IP address is used as the cluster endpoint. Use
6399
+ # ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead.
6400
+ # Note that the value of enable_public_endpoint is reversed: if
6401
+ # enable_private_endpoint is false, then enable_public_endpoint will be true.
5922
6402
  # Corresponds to the JSON property `enablePrivateEndpoint`
5923
6403
  # @return [Boolean]
5924
6404
  attr_accessor :enable_private_endpoint
@@ -5926,7 +6406,7 @@ module Google
5926
6406
 
5927
6407
  # Whether nodes have internal IP addresses only. If enabled, all nodes are given
5928
6408
  # only RFC 1918 private addresses and communicate with the master via private
5929
- # networking.
6409
+ # networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.
5930
6410
  # Corresponds to the JSON property `enablePrivateNodes`
5931
6411
  # @return [Boolean]
5932
6412
  attr_accessor :enable_private_nodes
@@ -5951,17 +6431,23 @@ module Google
5951
6431
  attr_accessor :peering_name
5952
6432
 
5953
6433
  # Output only. The internal IP address of this cluster's master endpoint.
6434
+ # Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint
6435
+ # instead.
5954
6436
  # Corresponds to the JSON property `privateEndpoint`
5955
6437
  # @return [String]
5956
6438
  attr_accessor :private_endpoint
5957
6439
 
5958
6440
  # Subnet to provision the master's private endpoint during cluster creation.
5959
- # Specified in projects/*/regions/*/subnetworks/* format.
6441
+ # Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use
6442
+ # ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork
6443
+ # instead.
5960
6444
  # Corresponds to the JSON property `privateEndpointSubnetwork`
5961
6445
  # @return [String]
5962
6446
  attr_accessor :private_endpoint_subnetwork
5963
6447
 
5964
6448
  # Output only. The external IP address of this cluster's master endpoint.
6449
+ # Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint
6450
+ # instead.
5965
6451
  # Corresponds to the JSON property `publicEndpoint`
5966
6452
  # @return [String]
5967
6453
  attr_accessor :public_endpoint
@@ -6114,16 +6600,46 @@ module Google
6114
6600
  end
6115
6601
  end
6116
6602
 
6603
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
6604
+ # that can be created.
6605
+ class RbacBindingConfig
6606
+ include Google::Apis::Core::Hashable
6607
+
6608
+ # Setting this to true will allow any ClusterRoleBinding and RoleBinding with
6609
+ # subjects system:authenticated.
6610
+ # Corresponds to the JSON property `enableInsecureBindingSystemAuthenticated`
6611
+ # @return [Boolean]
6612
+ attr_accessor :enable_insecure_binding_system_authenticated
6613
+ alias_method :enable_insecure_binding_system_authenticated?, :enable_insecure_binding_system_authenticated
6614
+
6615
+ # Setting this to true will allow any ClusterRoleBinding and RoleBinding with
6616
+ # subjets system:anonymous or system:unauthenticated.
6617
+ # Corresponds to the JSON property `enableInsecureBindingSystemUnauthenticated`
6618
+ # @return [Boolean]
6619
+ attr_accessor :enable_insecure_binding_system_unauthenticated
6620
+ alias_method :enable_insecure_binding_system_unauthenticated?, :enable_insecure_binding_system_unauthenticated
6621
+
6622
+ def initialize(**args)
6623
+ update!(**args)
6624
+ end
6625
+
6626
+ # Update properties of this object
6627
+ def update!(**args)
6628
+ @enable_insecure_binding_system_authenticated = args[:enable_insecure_binding_system_authenticated] if args.key?(:enable_insecure_binding_system_authenticated)
6629
+ @enable_insecure_binding_system_unauthenticated = args[:enable_insecure_binding_system_unauthenticated] if args.key?(:enable_insecure_binding_system_unauthenticated)
6630
+ end
6631
+ end
6632
+
6117
6633
  # RangeInfo contains the range name and the range utilization by this cluster.
6118
6634
  class RangeInfo
6119
6635
  include Google::Apis::Core::Hashable
6120
6636
 
6121
- # Output only. [Output only] Name of a range.
6637
+ # Output only. Name of a range.
6122
6638
  # Corresponds to the JSON property `rangeName`
6123
6639
  # @return [String]
6124
6640
  attr_accessor :range_name
6125
6641
 
6126
- # Output only. [Output only] The utilization of the range.
6642
+ # Output only. The utilization of the range.
6127
6643
  # Corresponds to the JSON property `utilization`
6128
6644
  # @return [Float]
6129
6645
  attr_accessor :utilization
@@ -6139,6 +6655,78 @@ module Google
6139
6655
  end
6140
6656
  end
6141
6657
 
6658
+ # RayClusterLoggingConfig specifies logging configuration for Ray clusters.
6659
+ class RayClusterLoggingConfig
6660
+ include Google::Apis::Core::Hashable
6661
+
6662
+ # Enable log collection for Ray clusters.
6663
+ # Corresponds to the JSON property `enabled`
6664
+ # @return [Boolean]
6665
+ attr_accessor :enabled
6666
+ alias_method :enabled?, :enabled
6667
+
6668
+ def initialize(**args)
6669
+ update!(**args)
6670
+ end
6671
+
6672
+ # Update properties of this object
6673
+ def update!(**args)
6674
+ @enabled = args[:enabled] if args.key?(:enabled)
6675
+ end
6676
+ end
6677
+
6678
+ # RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
6679
+ class RayClusterMonitoringConfig
6680
+ include Google::Apis::Core::Hashable
6681
+
6682
+ # Enable metrics collection for Ray clusters.
6683
+ # Corresponds to the JSON property `enabled`
6684
+ # @return [Boolean]
6685
+ attr_accessor :enabled
6686
+ alias_method :enabled?, :enabled
6687
+
6688
+ def initialize(**args)
6689
+ update!(**args)
6690
+ end
6691
+
6692
+ # Update properties of this object
6693
+ def update!(**args)
6694
+ @enabled = args[:enabled] if args.key?(:enabled)
6695
+ end
6696
+ end
6697
+
6698
+ # Configuration options for the Ray Operator add-on.
6699
+ class RayOperatorConfig
6700
+ include Google::Apis::Core::Hashable
6701
+
6702
+ # Whether the Ray addon is enabled for this cluster.
6703
+ # Corresponds to the JSON property `enabled`
6704
+ # @return [Boolean]
6705
+ attr_accessor :enabled
6706
+ alias_method :enabled?, :enabled
6707
+
6708
+ # RayClusterLoggingConfig specifies logging configuration for Ray clusters.
6709
+ # Corresponds to the JSON property `rayClusterLoggingConfig`
6710
+ # @return [Google::Apis::ContainerV1beta1::RayClusterLoggingConfig]
6711
+ attr_accessor :ray_cluster_logging_config
6712
+
6713
+ # RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
6714
+ # Corresponds to the JSON property `rayClusterMonitoringConfig`
6715
+ # @return [Google::Apis::ContainerV1beta1::RayClusterMonitoringConfig]
6716
+ attr_accessor :ray_cluster_monitoring_config
6717
+
6718
+ def initialize(**args)
6719
+ update!(**args)
6720
+ end
6721
+
6722
+ # Update properties of this object
6723
+ def update!(**args)
6724
+ @enabled = args[:enabled] if args.key?(:enabled)
6725
+ @ray_cluster_logging_config = args[:ray_cluster_logging_config] if args.key?(:ray_cluster_logging_config)
6726
+ @ray_cluster_monitoring_config = args[:ray_cluster_monitoring_config] if args.key?(:ray_cluster_monitoring_config)
6727
+ end
6728
+ end
6729
+
6142
6730
  # Represents an arbitrary window of time that recurs.
6143
6731
  class RecurringTimeWindow
6144
6732
  include Google::Apis::Core::Hashable
@@ -6220,6 +6808,11 @@ module Google
6220
6808
  # @return [String]
6221
6809
  attr_accessor :default_version
6222
6810
 
6811
+ # The auto upgrade target version for clusters on the channel.
6812
+ # Corresponds to the JSON property `upgradeTargetVersion`
6813
+ # @return [String]
6814
+ attr_accessor :upgrade_target_version
6815
+
6223
6816
  # List of valid versions for the channel.
6224
6817
  # Corresponds to the JSON property `validVersions`
6225
6818
  # @return [Array<String>]
@@ -6234,6 +6827,7 @@ module Google
6234
6827
  @available_versions = args[:available_versions] if args.key?(:available_versions)
6235
6828
  @channel = args[:channel] if args.key?(:channel)
6236
6829
  @default_version = args[:default_version] if args.key?(:default_version)
6830
+ @upgrade_target_version = args[:upgrade_target_version] if args.key?(:upgrade_target_version)
6237
6831
  @valid_versions = args[:valid_versions] if args.key?(:valid_versions)
6238
6832
  end
6239
6833
  end
@@ -6512,7 +7106,7 @@ module Google
6512
7106
  class SecretManagerConfig
6513
7107
  include Google::Apis::Core::Hashable
6514
7108
 
6515
- # Whether the cluster is configured to use secret manager CSI component.
7109
+ # Enable/Disable Secret Manager Config.
6516
7110
  # Corresponds to the JSON property `enabled`
6517
7111
  # @return [Boolean]
6518
7112
  attr_accessor :enabled
@@ -7964,6 +8558,12 @@ module Google
7964
8558
  # @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
7965
8559
  attr_accessor :resource_manager_tags
7966
8560
 
8561
+ # List of Storage Pools where boot disks are provisioned. Existing Storage Pools
8562
+ # will be replaced with storage-pools.
8563
+ # Corresponds to the JSON property `storagePools`
8564
+ # @return [Array<String>]
8565
+ attr_accessor :storage_pools
8566
+
7967
8567
  # Collection of Compute Engine network tags that can be applied to a node's
7968
8568
  # underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
7969
8569
  # docs/reference/rest/v1/NodeConfig)).
@@ -8063,6 +8663,7 @@ module Google
8063
8663
  @queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
8064
8664
  @resource_labels = args[:resource_labels] if args.key?(:resource_labels)
8065
8665
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
8666
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
8066
8667
  @tags = args[:tags] if args.key?(:tags)
8067
8668
  @taints = args[:taints] if args.key?(:taints)
8068
8669
  @upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
@@ -8120,6 +8721,50 @@ module Google
8120
8721
  end
8121
8722
  end
8122
8723
 
8724
+ # UpgradeDetails contains detailed information of each individual upgrade
8725
+ # operation.
8726
+ class UpgradeDetails
8727
+ include Google::Apis::Core::Hashable
8728
+
8729
+ # The end timestamp of the upgrade.
8730
+ # Corresponds to the JSON property `endTime`
8731
+ # @return [String]
8732
+ attr_accessor :end_time
8733
+
8734
+ # The version before the upgrade.
8735
+ # Corresponds to the JSON property `initialVersion`
8736
+ # @return [String]
8737
+ attr_accessor :initial_version
8738
+
8739
+ # The start timestamp of the upgrade.
8740
+ # Corresponds to the JSON property `startTime`
8741
+ # @return [String]
8742
+ attr_accessor :start_time
8743
+
8744
+ # Output only. The state of the upgrade.
8745
+ # Corresponds to the JSON property `state`
8746
+ # @return [String]
8747
+ attr_accessor :state
8748
+
8749
+ # The version after the upgrade.
8750
+ # Corresponds to the JSON property `targetVersion`
8751
+ # @return [String]
8752
+ attr_accessor :target_version
8753
+
8754
+ def initialize(**args)
8755
+ update!(**args)
8756
+ end
8757
+
8758
+ # Update properties of this object
8759
+ def update!(**args)
8760
+ @end_time = args[:end_time] if args.key?(:end_time)
8761
+ @initial_version = args[:initial_version] if args.key?(:initial_version)
8762
+ @start_time = args[:start_time] if args.key?(:start_time)
8763
+ @state = args[:state] if args.key?(:state)
8764
+ @target_version = args[:target_version] if args.key?(:target_version)
8765
+ end
8766
+ end
8767
+
8123
8768
  # UpgradeEvent is a notification sent to customers by the cluster server when a
8124
8769
  # resource is upgrading.
8125
8770
  class UpgradeEvent
@@ -8171,6 +8816,75 @@ module Google
8171
8816
  end
8172
8817
  end
8173
8818
 
8819
+ # UpgradeInfoEvent is a notification sent to customers about the upgrade
8820
+ # information of a resource.
8821
+ class UpgradeInfoEvent
8822
+ include Google::Apis::Core::Hashable
8823
+
8824
+ # The current version before the upgrade.
8825
+ # Corresponds to the JSON property `currentVersion`
8826
+ # @return [String]
8827
+ attr_accessor :current_version
8828
+
8829
+ # A brief description of the event.
8830
+ # Corresponds to the JSON property `description`
8831
+ # @return [String]
8832
+ attr_accessor :description
8833
+
8834
+ # The time when the operation ended.
8835
+ # Corresponds to the JSON property `endTime`
8836
+ # @return [String]
8837
+ attr_accessor :end_time
8838
+
8839
+ # The operation associated with this upgrade.
8840
+ # Corresponds to the JSON property `operation`
8841
+ # @return [String]
8842
+ attr_accessor :operation
8843
+
8844
+ # Optional relative path to the resource. For example in node pool upgrades, the
8845
+ # relative path of the node pool.
8846
+ # Corresponds to the JSON property `resource`
8847
+ # @return [String]
8848
+ attr_accessor :resource
8849
+
8850
+ # The resource type associated with the upgrade.
8851
+ # Corresponds to the JSON property `resourceType`
8852
+ # @return [String]
8853
+ attr_accessor :resource_type
8854
+
8855
+ # The time when the operation was started.
8856
+ # Corresponds to the JSON property `startTime`
8857
+ # @return [String]
8858
+ attr_accessor :start_time
8859
+
8860
+ # Output only. The state of the upgrade.
8861
+ # Corresponds to the JSON property `state`
8862
+ # @return [String]
8863
+ attr_accessor :state
8864
+
8865
+ # The target version for the upgrade.
8866
+ # Corresponds to the JSON property `targetVersion`
8867
+ # @return [String]
8868
+ attr_accessor :target_version
8869
+
8870
+ def initialize(**args)
8871
+ update!(**args)
8872
+ end
8873
+
8874
+ # Update properties of this object
8875
+ def update!(**args)
8876
+ @current_version = args[:current_version] if args.key?(:current_version)
8877
+ @description = args[:description] if args.key?(:description)
8878
+ @end_time = args[:end_time] if args.key?(:end_time)
8879
+ @operation = args[:operation] if args.key?(:operation)
8880
+ @resource = args[:resource] if args.key?(:resource)
8881
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
8882
+ @start_time = args[:start_time] if args.key?(:start_time)
8883
+ @state = args[:state] if args.key?(:state)
8884
+ @target_version = args[:target_version] if args.key?(:target_version)
8885
+ end
8886
+ end
8887
+
8174
8888
  # These upgrade settings control the level of parallelism and the level of
8175
8889
  # disruption caused by an upgrade. maxUnavailable controls the number of nodes
8176
8890
  # that can be simultaneously unavailable. maxSurge controls the number of
@@ -8320,6 +9034,78 @@ module Google
8320
9034
  end
8321
9035
  end
8322
9036
 
9037
+ # UserManagedKeysConfig holds the resource address to Keys which are used for
9038
+ # signing certs and token that are used for communication within cluster.
9039
+ class UserManagedKeysConfig
9040
+ include Google::Apis::Core::Hashable
9041
+
9042
+ # The Certificate Authority Service caPool to use for the aggregation CA in this
9043
+ # cluster.
9044
+ # Corresponds to the JSON property `aggregationCa`
9045
+ # @return [String]
9046
+ attr_accessor :aggregation_ca
9047
+
9048
+ # The Certificate Authority Service caPool to use for the cluster CA in this
9049
+ # cluster.
9050
+ # Corresponds to the JSON property `clusterCa`
9051
+ # @return [String]
9052
+ attr_accessor :cluster_ca
9053
+
9054
+ # The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane
9055
+ # nodes.
9056
+ # Corresponds to the JSON property `controlPlaneDiskEncryptionKey`
9057
+ # @return [String]
9058
+ attr_accessor :control_plane_disk_encryption_key
9059
+
9060
+ # Resource path of the Certificate Authority Service caPool to use for the etcd
9061
+ # API CA in this cluster.
9062
+ # Corresponds to the JSON property `etcdApiCa`
9063
+ # @return [String]
9064
+ attr_accessor :etcd_api_ca
9065
+
9066
+ # Resource path of the Certificate Authority Service caPool to use for the etcd
9067
+ # peer CA in this cluster.
9068
+ # Corresponds to the JSON property `etcdPeerCa`
9069
+ # @return [String]
9070
+ attr_accessor :etcd_peer_ca
9071
+
9072
+ # Resource path of the Cloud KMS cryptoKey to use for encryption of internal
9073
+ # etcd backups.
9074
+ # Corresponds to the JSON property `gkeopsEtcdBackupEncryptionKey`
9075
+ # @return [String]
9076
+ attr_accessor :gkeops_etcd_backup_encryption_key
9077
+
9078
+ # The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued
9079
+ # by this cluster. Format: `projects/`project`/locations/`location`/keyRings/`
9080
+ # keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
9081
+ # Corresponds to the JSON property `serviceAccountSigningKeys`
9082
+ # @return [Array<String>]
9083
+ attr_accessor :service_account_signing_keys
9084
+
9085
+ # The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
9086
+ # issued by this cluster. Format: `projects/`project`/locations/`location`/
9087
+ # keyRings/`keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
9088
+ # Corresponds to the JSON property `serviceAccountVerificationKeys`
9089
+ # @return [Array<String>]
9090
+ attr_accessor :service_account_verification_keys
9091
+
9092
+ def initialize(**args)
9093
+ update!(**args)
9094
+ end
9095
+
9096
+ # Update properties of this object
9097
+ def update!(**args)
9098
+ @aggregation_ca = args[:aggregation_ca] if args.key?(:aggregation_ca)
9099
+ @cluster_ca = args[:cluster_ca] if args.key?(:cluster_ca)
9100
+ @control_plane_disk_encryption_key = args[:control_plane_disk_encryption_key] if args.key?(:control_plane_disk_encryption_key)
9101
+ @etcd_api_ca = args[:etcd_api_ca] if args.key?(:etcd_api_ca)
9102
+ @etcd_peer_ca = args[:etcd_peer_ca] if args.key?(:etcd_peer_ca)
9103
+ @gkeops_etcd_backup_encryption_key = args[:gkeops_etcd_backup_encryption_key] if args.key?(:gkeops_etcd_backup_encryption_key)
9104
+ @service_account_signing_keys = args[:service_account_signing_keys] if args.key?(:service_account_signing_keys)
9105
+ @service_account_verification_keys = args[:service_account_verification_keys] if args.key?(:service_account_verification_keys)
9106
+ end
9107
+ end
9108
+
8323
9109
  # VerticalPodAutoscaling contains global, per-cluster information required by
8324
9110
  # Vertical Pod Autoscaler to automatically adjust the resources of pods
8325
9111
  # controlled by it.