google-apis-container_v1beta1 0.74.0 → 0.76.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.