diff --git a/google/cloud/container/__init__.py b/google/cloud/container/__init__.py index a703bb31..bfbbb4be 100644 --- a/google/cloud/container/__init__.py +++ b/google/cloud/container/__init__.py @@ -28,6 +28,7 @@ AcceleratorConfig, AdditionalPodRangesConfig, AddonsConfig, + AdvancedDatapathObservabilityConfig, AdvancedMachineFeatures, AuthenticatorGroupsConfig, Autopilot, @@ -67,6 +68,7 @@ GcePersistentDiskCsiDriverConfig, GcfsConfig, GcpFilestoreCsiDriverConfig, + GcsFuseCsiDriverConfig, GetClusterRequest, GetJSONWebKeysRequest, GetJSONWebKeysResponse, @@ -137,6 +139,7 @@ PrivateClusterConfig, PrivateClusterMasterGlobalAccessConfig, PrivateIPv6GoogleAccess, + RangeInfo, RecurringTimeWindow, ReleaseChannel, ReservationAffinity, @@ -190,6 +193,7 @@ "AcceleratorConfig", "AdditionalPodRangesConfig", "AddonsConfig", + "AdvancedDatapathObservabilityConfig", "AdvancedMachineFeatures", "AuthenticatorGroupsConfig", "Autopilot", @@ -228,6 +232,7 @@ "GcePersistentDiskCsiDriverConfig", "GcfsConfig", "GcpFilestoreCsiDriverConfig", + "GcsFuseCsiDriverConfig", "GetClusterRequest", "GetJSONWebKeysRequest", "GetJSONWebKeysResponse", @@ -295,6 +300,7 @@ "PodCIDROverprovisionConfig", "PrivateClusterConfig", "PrivateClusterMasterGlobalAccessConfig", + "RangeInfo", "RecurringTimeWindow", "ReleaseChannel", "ReservationAffinity", diff --git a/google/cloud/container_v1/__init__.py b/google/cloud/container_v1/__init__.py index 9a36c11a..f6251cee 100644 --- a/google/cloud/container_v1/__init__.py +++ b/google/cloud/container_v1/__init__.py @@ -23,6 +23,7 @@ AcceleratorConfig, AdditionalPodRangesConfig, AddonsConfig, + AdvancedDatapathObservabilityConfig, AdvancedMachineFeatures, AuthenticatorGroupsConfig, Autopilot, @@ -62,6 +63,7 @@ GcePersistentDiskCsiDriverConfig, GcfsConfig, GcpFilestoreCsiDriverConfig, + GcsFuseCsiDriverConfig, GetClusterRequest, GetJSONWebKeysRequest, GetJSONWebKeysResponse, @@ -132,6 +134,7 @@ PrivateClusterConfig, PrivateClusterMasterGlobalAccessConfig, PrivateIPv6GoogleAccess, + RangeInfo, RecurringTimeWindow, ReleaseChannel, ReservationAffinity, @@ -184,6 +187,7 @@ "AcceleratorConfig", "AdditionalPodRangesConfig", "AddonsConfig", + "AdvancedDatapathObservabilityConfig", "AdvancedMachineFeatures", "AuthenticatorGroupsConfig", "AutoUpgradeOptions", @@ -226,6 +230,7 @@ "GcePersistentDiskCsiDriverConfig", "GcfsConfig", "GcpFilestoreCsiDriverConfig", + "GcsFuseCsiDriverConfig", "GetClusterRequest", "GetJSONWebKeysRequest", "GetJSONWebKeysResponse", @@ -294,6 +299,7 @@ "PrivateClusterConfig", "PrivateClusterMasterGlobalAccessConfig", "PrivateIPv6GoogleAccess", + "RangeInfo", "RecurringTimeWindow", "ReleaseChannel", "ReservationAffinity", diff --git a/google/cloud/container_v1/services/cluster_manager/async_client.py b/google/cloud/container_v1/services/cluster_manager/async_client.py index 7fa8b15f..b3f3915f 100644 --- a/google/cloud/container_v1/services/cluster_manager/async_client.py +++ b/google/cloud/container_v1/services/cluster_manager/async_client.py @@ -1706,14 +1706,17 @@ async def sample_update_master(): versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid - Kubernetes version - "1.X": picks the - highest valid patch+gke.N patch in the - 1.X version - "1.X.Y": picks the highest - valid gke.N patch in the 1.X.Y version - - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the - default Kubernetes version + Kubernetes version + - "1.X": picks the highest valid + patch+gke.N patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N + patch in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit + Kubernetes version + - "-": picks the default Kubernetes + version This corresponds to the ``master_version`` field on the ``request`` instance; if ``request`` is provided, this diff --git a/google/cloud/container_v1/services/cluster_manager/client.py b/google/cloud/container_v1/services/cluster_manager/client.py index 250682d6..b26f67ff 100644 --- a/google/cloud/container_v1/services/cluster_manager/client.py +++ b/google/cloud/container_v1/services/cluster_manager/client.py @@ -1912,14 +1912,17 @@ def sample_update_master(): versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid - Kubernetes version - "1.X": picks the - highest valid patch+gke.N patch in the - 1.X version - "1.X.Y": picks the highest - valid gke.N patch in the 1.X.Y version - - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the - default Kubernetes version + Kubernetes version + - "1.X": picks the highest valid + patch+gke.N patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N + patch in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit + Kubernetes version + - "-": picks the default Kubernetes + version This corresponds to the ``master_version`` field on the ``request`` instance; if ``request`` is provided, this diff --git a/google/cloud/container_v1/types/__init__.py b/google/cloud/container_v1/types/__init__.py index 17e0acb2..5e7edfe2 100644 --- a/google/cloud/container_v1/types/__init__.py +++ b/google/cloud/container_v1/types/__init__.py @@ -17,6 +17,7 @@ AcceleratorConfig, AdditionalPodRangesConfig, AddonsConfig, + AdvancedDatapathObservabilityConfig, AdvancedMachineFeatures, AuthenticatorGroupsConfig, Autopilot, @@ -56,6 +57,7 @@ GcePersistentDiskCsiDriverConfig, GcfsConfig, GcpFilestoreCsiDriverConfig, + GcsFuseCsiDriverConfig, GetClusterRequest, GetJSONWebKeysRequest, GetJSONWebKeysResponse, @@ -126,6 +128,7 @@ PrivateClusterConfig, PrivateClusterMasterGlobalAccessConfig, PrivateIPv6GoogleAccess, + RangeInfo, RecurringTimeWindow, ReleaseChannel, ReservationAffinity, @@ -177,6 +180,7 @@ "AcceleratorConfig", "AdditionalPodRangesConfig", "AddonsConfig", + "AdvancedDatapathObservabilityConfig", "AdvancedMachineFeatures", "AuthenticatorGroupsConfig", "Autopilot", @@ -215,6 +219,7 @@ "GcePersistentDiskCsiDriverConfig", "GcfsConfig", "GcpFilestoreCsiDriverConfig", + "GcsFuseCsiDriverConfig", "GetClusterRequest", "GetJSONWebKeysRequest", "GetJSONWebKeysResponse", @@ -282,6 +287,7 @@ "PodCIDROverprovisionConfig", "PrivateClusterConfig", "PrivateClusterMasterGlobalAccessConfig", + "RangeInfo", "RecurringTimeWindow", "ReleaseChannel", "ReservationAffinity", diff --git a/google/cloud/container_v1/types/cluster_service.py b/google/cloud/container_v1/types/cluster_service.py index 397cac85..55a353ef 100644 --- a/google/cloud/container_v1/types/cluster_service.py +++ b/google/cloud/container_v1/types/cluster_service.py @@ -64,6 +64,7 @@ "ConfigConnectorConfig", "GcePersistentDiskCsiDriverConfig", "GcpFilestoreCsiDriverConfig", + "GcsFuseCsiDriverConfig", "GkeBackupAgentConfig", "MasterAuthorizedNetworksConfig", "LegacyAbac", @@ -79,6 +80,7 @@ "NodeConfigDefaults", "ClusterUpdate", "AdditionalPodRangesConfig", + "RangeInfo", "Operation", "OperationProgress", "CreateClusterRequest", @@ -177,6 +179,7 @@ "LoggingConfig", "LoggingComponentConfig", "MonitoringConfig", + "AdvancedDatapathObservabilityConfig", "NodePoolLoggingConfig", "LoggingVariantConfig", "MonitoringComponentConfig", @@ -393,6 +396,8 @@ class OSVersion(proto.Enum): class NodeKubeletConfig(proto.Message): r"""Node kubelet configs. + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: cpu_manager_policy (str): Control the CPU management policy on the node. See @@ -433,6 +438,10 @@ class NodeKubeletConfig(proto.Message): Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304. + insecure_kubelet_readonly_port_enabled (bool): + Enable or disable Kubelet read only port. + + This field is a member of `oneof`_ ``_insecure_kubelet_readonly_port_enabled``. """ cpu_manager_policy: str = proto.Field( @@ -452,6 +461,11 @@ class NodeKubeletConfig(proto.Message): proto.INT64, number=4, ) + insecure_kubelet_readonly_port_enabled: bool = proto.Field( + proto.BOOL, + number=7, + optional=True, + ) class NodeConfig(proto.Message): @@ -553,6 +567,7 @@ class NodeConfig(proto.Message): undefined and conflicts should be avoided. For more information, including usage and the valid values, see: + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ local_ssd_count (int): The number of local SSD disks to be attached @@ -560,6 +575,7 @@ class NodeConfig(proto.Message): The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. tags (MutableSequence[str]): @@ -572,6 +588,7 @@ class NodeConfig(proto.Message): preemptible (bool): Whether the nodes are created as preemptible VM instances. See: + https://cloud.google.com/compute/docs/instances/preemptible for more information about preemptible VM instances. @@ -602,6 +619,7 @@ class NodeConfig(proto.Message): each node. For more information, including usage and the valid values, see: + https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ sandbox_config (google.cloud.container_v1.types.SandboxConfig): Sandbox configuration for this node. @@ -929,6 +947,10 @@ class NodeNetworkConfig(proto.Message): off to next power of 2) Example: max_pods_per_node of 30 will result in 32 IPs (/27) when overprovisioning is disabled. + pod_ipv4_range_utilization (float): + Output only. [Output only] The utilization of the IPv4 range + for the pod. The ratio is Usage/[Total number of IPs in the + secondary range], Usage=numNodes\ *numZones*\ podIPsPerNode. """ class NetworkPerformanceConfig(proto.Message): @@ -992,6 +1014,10 @@ class Tier(proto.Enum): number=13, message="PodCIDROverprovisionConfig", ) + pod_ipv4_range_utilization: float = proto.Field( + proto.DOUBLE, + number=16, + ) class ShieldedInstanceConfig(proto.Message): @@ -1316,6 +1342,7 @@ class MasterAuth(proto.Message): will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: + https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication password (str): The password to use for HTTP basic @@ -1329,6 +1356,7 @@ class MasterAuth(proto.Message): will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: + https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication client_certificate_config (google.cloud.container_v1.types.ClientCertificateConfig): Configuration for client certificate @@ -1410,6 +1438,7 @@ class AddonsConfig(proto.Message): Console to manage and monitor your Kubernetes clusters, workloads and applications. For more information, see: + https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards network_policy_config (google.cloud.container_v1.types.NetworkPolicyConfig): Configuration for NetworkPolicy. This only @@ -1436,6 +1465,9 @@ class AddonsConfig(proto.Message): gke_backup_agent_config (google.cloud.container_v1.types.GkeBackupAgentConfig): Configuration for the Backup for GKE agent addon. + gcs_fuse_csi_driver_config (google.cloud.container_v1.types.GcsFuseCsiDriverConfig): + Configuration for the Cloud Storage Fuse CSI + driver. """ http_load_balancing: "HttpLoadBalancing" = proto.Field( @@ -1490,6 +1522,11 @@ class AddonsConfig(proto.Message): number=16, message="GkeBackupAgentConfig", ) + gcs_fuse_csi_driver_config: "GcsFuseCsiDriverConfig" = proto.Field( + proto.MESSAGE, + number=17, + message="GcsFuseCsiDriverConfig", + ) class HttpLoadBalancing(proto.Message): @@ -1772,6 +1809,21 @@ class GcpFilestoreCsiDriverConfig(proto.Message): ) +class GcsFuseCsiDriverConfig(proto.Message): + r"""Configuration for the Cloud Storage Fuse CSI driver. + + Attributes: + enabled (bool): + Whether the Cloud Storage Fuse CSI driver is + enabled for this cluster. + """ + + enabled: bool = proto.Field( + proto.BOOL, + number=1, + ) + + class GkeBackupAgentConfig(proto.Message): r"""Configuration for the Backup for GKE Agent. @@ -2110,6 +2162,11 @@ class IPAllocationPolicy(proto.Message): are added to the cluster. These pod ranges can be used by new node pools to allocate pod IPs automatically. Once the range is removed it will not show up in IPAllocationPolicy. + default_pod_ipv4_range_utilization (float): + Output only. [Output only] The utilization of the cluster + default IPv4 range for the pod. The ratio is Usage/[Total + number of IPs in the secondary range], + Usage=numNodes\ *numZones*\ podIPsPerNode. """ use_ip_aliases: bool = proto.Field( @@ -2192,6 +2249,10 @@ class IPAllocationPolicy(proto.Message): number=24, message="AdditionalPodRangesConfig", ) + default_pod_ipv4_range_utilization: float = proto.Field( + proto.DOUBLE, + number=25, + ) class Cluster(proto.Message): @@ -2416,13 +2477,16 @@ class Cluster(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "","-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "","-": picks the default Kubernetes version current_master_version (str): [Output only] The current software version of the master endpoint. @@ -3017,13 +3081,16 @@ class ClusterUpdate(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the Kubernetes - master version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the Kubernetes master version desired_monitoring_service (str): The monitoring service the cluster should use to write metrics. Currently available options: @@ -3152,13 +3219,16 @@ class ClusterUpdate(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the default Kubernetes version desired_gcfs_config (google.cloud.container_v1.types.GcfsConfig): The desired GCFS config for the cluster desired_node_pool_auto_config_network_tags (google.cloud.container_v1.types.NetworkTags): @@ -3464,12 +3534,41 @@ class AdditionalPodRangesConfig(proto.Message): pod_range_names (MutableSequence[str]): Name for pod secondary ipv4 range which has the actual range defined ahead. + pod_range_info (MutableSequence[google.cloud.container_v1.types.RangeInfo]): + Output only. [Output only] Information for additional pod + range. """ pod_range_names: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=1, ) + pod_range_info: MutableSequence["RangeInfo"] = proto.RepeatedField( + proto.MESSAGE, + number=2, + message="RangeInfo", + ) + + +class RangeInfo(proto.Message): + r"""RangeInfo contains the range name and the range utilization + by this cluster. + + Attributes: + range_name (str): + Output only. [Output only] Name of a range. + utilization (float): + Output only. [Output only] The utilization of the range. + """ + + range_name: str = proto.Field( + proto.STRING, + number=1, + ) + utilization: float = proto.Field( + proto.DOUBLE, + number=2, + ) class Operation(proto.Message): @@ -4023,13 +4122,16 @@ class UpdateNodePoolRequest(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the Kubernetes - master version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the Kubernetes master version image_type (str): Required. The desired image type for the node pool. Please see @@ -4532,13 +4634,16 @@ class UpdateMasterRequest(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the default Kubernetes version name (str): The name (project, location, cluster) of the cluster to update. Specified in the format @@ -6323,6 +6428,9 @@ class AutoprovisioningNodePoolDefaults(proto.Message): r"""AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + Attributes: oauth_scopes (MutableSequence[str]): Scopes that are used by NAP when creating @@ -6375,6 +6483,10 @@ class AutoprovisioningNodePoolDefaults(proto.Message): Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. + insecure_kubelet_readonly_port_enabled (bool): + Enable or disable Kubelet read only port. + + This field is a member of `oneof`_ ``_insecure_kubelet_readonly_port_enabled``. """ oauth_scopes: MutableSequence[str] = proto.RepeatedField( @@ -6420,6 +6532,11 @@ class AutoprovisioningNodePoolDefaults(proto.Message): proto.STRING, number=10, ) + insecure_kubelet_readonly_port_enabled: bool = proto.Field( + proto.BOOL, + number=13, + optional=True, + ) class ResourceLimit(proto.Message): @@ -7690,7 +7807,7 @@ class Provider(proto.Enum): CLOUD_DNS (2): Use CloudDNS for DNS resolution. KUBE_DNS (3): - Use KubeDNS for DNS resolution + Use KubeDNS for DNS resolution. """ PROVIDER_UNSPECIFIED = 0 PLATFORM_DEFAULT = 1 @@ -8553,6 +8670,9 @@ class MonitoringConfig(proto.Message): managed_prometheus_config (google.cloud.container_v1.types.ManagedPrometheusConfig): Enable Google Cloud Managed Service for Prometheus in the cluster. + advanced_datapath_observability_config (google.cloud.container_v1.types.AdvancedDatapathObservabilityConfig): + Configuration of Advanced Datapath + Observability features. """ component_config: "MonitoringComponentConfig" = proto.Field( @@ -8565,6 +8685,53 @@ class MonitoringConfig(proto.Message): number=2, message="ManagedPrometheusConfig", ) + advanced_datapath_observability_config: "AdvancedDatapathObservabilityConfig" = ( + proto.Field( + proto.MESSAGE, + number=3, + message="AdvancedDatapathObservabilityConfig", + ) + ) + + +class AdvancedDatapathObservabilityConfig(proto.Message): + r"""AdvancedDatapathObservabilityConfig specifies configuration + of observability features of advanced datapath. + + Attributes: + enable_metrics (bool): + Expose flow metrics on nodes + relay_mode (google.cloud.container_v1.types.AdvancedDatapathObservabilityConfig.RelayMode): + Method used to make Relay available + """ + + class RelayMode(proto.Enum): + r"""Supported Relay modes + + Values: + RELAY_MODE_UNSPECIFIED (0): + Default value. This shouldn't be used. + DISABLED (1): + disabled + INTERNAL_VPC_LB (3): + exposed via internal load balancer + EXTERNAL_LB (4): + exposed via external load balancer + """ + RELAY_MODE_UNSPECIFIED = 0 + DISABLED = 1 + INTERNAL_VPC_LB = 3 + EXTERNAL_LB = 4 + + enable_metrics: bool = proto.Field( + proto.BOOL, + number=1, + ) + relay_mode: RelayMode = proto.Field( + proto.ENUM, + number=2, + enum=RelayMode, + ) class NodePoolLoggingConfig(proto.Message): @@ -8712,6 +8879,7 @@ class LocalNvmeSsdBlockConfig(proto.Message): The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. """ @@ -8735,6 +8903,7 @@ class EphemeralStorageLocalSsdConfig(proto.Message): for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. """ diff --git a/google/cloud/container_v1beta1/__init__.py b/google/cloud/container_v1beta1/__init__.py index 8d727937..49293099 100644 --- a/google/cloud/container_v1beta1/__init__.py +++ b/google/cloud/container_v1beta1/__init__.py @@ -23,6 +23,7 @@ AcceleratorConfig, AdditionalPodRangesConfig, AddonsConfig, + AdvancedDatapathObservabilityConfig, AdvancedMachineFeatures, AuthenticatorGroupsConfig, Autopilot, @@ -200,6 +201,7 @@ "AcceleratorConfig", "AdditionalPodRangesConfig", "AddonsConfig", + "AdvancedDatapathObservabilityConfig", "AdvancedMachineFeatures", "AuthenticatorGroupsConfig", "AutoUpgradeOptions", diff --git a/google/cloud/container_v1beta1/services/cluster_manager/async_client.py b/google/cloud/container_v1beta1/services/cluster_manager/async_client.py index 182c72b9..d1651b1f 100644 --- a/google/cloud/container_v1beta1/services/cluster_manager/async_client.py +++ b/google/cloud/container_v1beta1/services/cluster_manager/async_client.py @@ -1654,14 +1654,17 @@ async def sample_update_master(): versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid - Kubernetes version - "1.X": picks the - highest valid patch+gke.N patch in the - 1.X version - "1.X.Y": picks the highest - valid gke.N patch in the 1.X.Y version - - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the - default Kubernetes version + Kubernetes version + - "1.X": picks the highest valid + patch+gke.N patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N + patch in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit + Kubernetes version + - "-": picks the default Kubernetes + version This corresponds to the ``master_version`` field on the ``request`` instance; if ``request`` is provided, this diff --git a/google/cloud/container_v1beta1/services/cluster_manager/client.py b/google/cloud/container_v1beta1/services/cluster_manager/client.py index e9c59d54..a293d813 100644 --- a/google/cloud/container_v1beta1/services/cluster_manager/client.py +++ b/google/cloud/container_v1beta1/services/cluster_manager/client.py @@ -1860,14 +1860,17 @@ def sample_update_master(): versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid - Kubernetes version - "1.X": picks the - highest valid patch+gke.N patch in the - 1.X version - "1.X.Y": picks the highest - valid gke.N patch in the 1.X.Y version - - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the - default Kubernetes version + Kubernetes version + - "1.X": picks the highest valid + patch+gke.N patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N + patch in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit + Kubernetes version + - "-": picks the default Kubernetes + version This corresponds to the ``master_version`` field on the ``request`` instance; if ``request`` is provided, this diff --git a/google/cloud/container_v1beta1/types/__init__.py b/google/cloud/container_v1beta1/types/__init__.py index 46f5af9e..38ccae7d 100644 --- a/google/cloud/container_v1beta1/types/__init__.py +++ b/google/cloud/container_v1beta1/types/__init__.py @@ -17,6 +17,7 @@ AcceleratorConfig, AdditionalPodRangesConfig, AddonsConfig, + AdvancedDatapathObservabilityConfig, AdvancedMachineFeatures, AuthenticatorGroupsConfig, Autopilot, @@ -193,6 +194,7 @@ "AcceleratorConfig", "AdditionalPodRangesConfig", "AddonsConfig", + "AdvancedDatapathObservabilityConfig", "AdvancedMachineFeatures", "AuthenticatorGroupsConfig", "Autopilot", diff --git a/google/cloud/container_v1beta1/types/cluster_service.py b/google/cloud/container_v1beta1/types/cluster_service.py index 29f021f1..6216aaa2 100644 --- a/google/cloud/container_v1beta1/types/cluster_service.py +++ b/google/cloud/container_v1beta1/types/cluster_service.py @@ -197,6 +197,7 @@ "LoggingConfig", "LoggingComponentConfig", "MonitoringConfig", + "AdvancedDatapathObservabilityConfig", "NodePoolLoggingConfig", "LoggingVariantConfig", "MonitoringComponentConfig", @@ -563,6 +564,7 @@ class NodeConfig(proto.Message): undefined and conflicts should be avoided. For more information, including usage and the valid values, see: + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ local_ssd_count (int): The number of local SSD disks to be attached @@ -570,6 +572,7 @@ class NodeConfig(proto.Message): The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. tags (MutableSequence[str]): @@ -582,6 +585,7 @@ class NodeConfig(proto.Message): preemptible (bool): Whether the nodes are created as preemptible VM instances. See: + https://cloud.google.com/compute/docs/instances/preemptible for more information about preemptible VM instances. @@ -624,6 +628,7 @@ class NodeConfig(proto.Message): each node. For more information, including usage and the valid values, see: + https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ boot_disk_kms_key (str): The Customer Managed Encryption Key used to encrypt the boot @@ -950,7 +955,7 @@ class NodeNetworkConfig(proto.Message): disabled. pod_ipv4_range_utilization (float): Output only. [Output only] The utilization of the IPv4 range - for pod. The ratio is Usage/[Total number of IPs in the + for the pod. The ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes\ *numZones*\ podIPsPerNode. """ @@ -1132,6 +1137,7 @@ class LocalNvmeSsdBlockConfig(proto.Message): The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. """ @@ -1155,6 +1161,7 @@ class EphemeralStorageLocalSsdConfig(proto.Message): for this value is dependent upon the maximum number of disks available on a machine per zone. See: + https://cloud.google.com/compute/docs/disks/local-ssd for more information. """ @@ -1427,6 +1434,7 @@ class MasterAuth(proto.Message): will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: + https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication password (str): The password to use for HTTP basic @@ -1440,6 +1448,7 @@ class MasterAuth(proto.Message): will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: + https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication client_certificate_config (google.cloud.container_v1beta1.types.ClientCertificateConfig): Configuration for client certificate @@ -1520,6 +1529,7 @@ class AddonsConfig(proto.Message): Console to manage and monitor your Kubernetes clusters, workloads and applications. For more information, see: + https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards network_policy_config (google.cloud.container_v1beta1.types.NetworkPolicyConfig): Configuration for NetworkPolicy. This only @@ -2261,8 +2271,8 @@ class IPAllocationPolicy(proto.Message): range is removed it will not show up in IPAllocationPolicy. default_pod_ipv4_range_utilization (float): Output only. [Output only] The utilization of the cluster - default IPv4 range for pod. The ratio is Usage/[Total number - of IPs in the secondary range], + default IPv4 range for the pod. The ratio is Usage/[Total + number of IPs in the secondary range], Usage=numNodes\ *numZones*\ podIPsPerNode. """ @@ -2758,13 +2768,16 @@ class Cluster(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "","-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "","-": picks the default Kubernetes version current_master_version (str): [Output only] The current software version of the master endpoint. @@ -3513,13 +3526,16 @@ class ClusterUpdate(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the Kubernetes - master version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the Kubernetes master version desired_monitoring_service (str): The monitoring service the cluster should use to write metrics. Currently available options: @@ -3625,13 +3641,16 @@ class ClusterUpdate(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the default Kubernetes version desired_gcfs_config (google.cloud.container_v1beta1.types.GcfsConfig): The desired GCFS config for the cluster. desired_database_encryption (google.cloud.container_v1beta1.types.DatabaseEncryption): @@ -4606,13 +4625,16 @@ class UpdateNodePoolRequest(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the Kubernetes - master version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the Kubernetes master version image_type (str): Required. The desired image type for the node pool. Please see @@ -5114,13 +5136,16 @@ class UpdateMasterRequest(proto.Message): Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: + - "latest": picks the highest valid Kubernetes - version - "1.X": picks the highest valid - patch+gke.N patch in the 1.X version - "1.X.Y": - picks the highest valid gke.N patch in the 1.X.Y - version - "1.X.Y-gke.N": picks an explicit - Kubernetes version - "-": picks the default - Kubernetes version + version + - "1.X": picks the highest valid patch+gke.N + patch in the 1.X version + - "1.X.Y": picks the highest valid gke.N patch + in the 1.X.Y version + - "1.X.Y-gke.N": picks an explicit Kubernetes + version + - "-": picks the default Kubernetes version name (str): The name (project, location, cluster) of the cluster to update. Specified in the format @@ -8411,7 +8436,7 @@ class Provider(proto.Enum): CLOUD_DNS (2): Use CloudDNS for DNS resolution. KUBE_DNS (3): - Use KubeDNS for DNS resolution + Use KubeDNS for DNS resolution. """ PROVIDER_UNSPECIFIED = 0 PLATFORM_DEFAULT = 1 @@ -9502,6 +9527,9 @@ class MonitoringConfig(proto.Message): managed_prometheus_config (google.cloud.container_v1beta1.types.ManagedPrometheusConfig): Enable Google Cloud Managed Service for Prometheus in the cluster. + advanced_datapath_observability_config (google.cloud.container_v1beta1.types.AdvancedDatapathObservabilityConfig): + Configuration of Advanced Datapath + Observability features. """ component_config: "MonitoringComponentConfig" = proto.Field( @@ -9514,6 +9542,53 @@ class MonitoringConfig(proto.Message): number=2, message="ManagedPrometheusConfig", ) + advanced_datapath_observability_config: "AdvancedDatapathObservabilityConfig" = ( + proto.Field( + proto.MESSAGE, + number=3, + message="AdvancedDatapathObservabilityConfig", + ) + ) + + +class AdvancedDatapathObservabilityConfig(proto.Message): + r"""AdvancedDatapathObservabilityConfig specifies configuration + of observability features of advanced datapath. + + Attributes: + enable_metrics (bool): + Expose flow metrics on nodes + relay_mode (google.cloud.container_v1beta1.types.AdvancedDatapathObservabilityConfig.RelayMode): + Method used to make Relay available + """ + + class RelayMode(proto.Enum): + r"""Supported Relay modes + + Values: + RELAY_MODE_UNSPECIFIED (0): + Default value. This shouldn't be used. + DISABLED (1): + disabled + INTERNAL_VPC_LB (3): + exposed via internal load balancer + EXTERNAL_LB (4): + exposed via external load balancer + """ + RELAY_MODE_UNSPECIFIED = 0 + DISABLED = 1 + INTERNAL_VPC_LB = 3 + EXTERNAL_LB = 4 + + enable_metrics: bool = proto.Field( + proto.BOOL, + number=1, + ) + relay_mode: RelayMode = proto.Field( + proto.ENUM, + number=2, + enum=RelayMode, + ) class NodePoolLoggingConfig(proto.Message):