diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b9a92e9..c83c07c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://pypi.org/project/google-cloud-container/#history +## [2.13.0](https://github.com/googleapis/python-container/compare/v2.12.2...v2.13.0) (2022-10-26) + + +### Features + +* launch GKE Cost Allocations configuration to the v1 GKE API ([d625e34](https://github.com/googleapis/python-container/commit/d625e3456bd37aa6cca4b0cf9de44c9ddb69ec21)) +* vulnerability scanning exposed to public ([d625e34](https://github.com/googleapis/python-container/commit/d625e3456bd37aa6cca4b0cf9de44c9ddb69ec21)) + ## [2.12.2](https://github.com/googleapis/python-container/compare/v2.12.1...v2.12.2) (2022-10-07) diff --git a/container-v1beta1-py.tar.gz b/container-v1beta1-py.tar.gz new file mode 100644 index 00000000..08a13544 Binary files /dev/null and b/container-v1beta1-py.tar.gz differ diff --git a/google/cloud/container/__init__.py b/google/cloud/container/__init__.py index baa3371b..238ed849 100644 --- a/google/cloud/container/__init__.py +++ b/google/cloud/container/__init__.py @@ -40,6 +40,7 @@ CompleteNodePoolUpgradeRequest, ConfidentialNodes, ConfigConnectorConfig, + CostManagementConfig, CreateClusterRequest, CreateNodePoolRequest, DailyMaintenanceWindow, @@ -61,6 +62,7 @@ GetOpenIDConfigResponse, GetOperationRequest, GetServerConfigRequest, + GkeBackupAgentConfig, GPUSharingConfig, HorizontalPodAutoscaling, HttpLoadBalancing, @@ -68,6 +70,7 @@ ILBSubsettingConfig, IntraNodeVisibilityConfig, IPAllocationPolicy, + IPv6AccessType, Jwk, KubernetesDashboard, LegacyAbac, @@ -141,6 +144,7 @@ SetNodePoolSizeRequest, ShieldedInstanceConfig, ShieldedNodes, + StackType, StartIPRotationRequest, StatusCondition, TimeWindow, @@ -180,6 +184,7 @@ "CompleteNodePoolUpgradeRequest", "ConfidentialNodes", "ConfigConnectorConfig", + "CostManagementConfig", "CreateClusterRequest", "CreateNodePoolRequest", "DailyMaintenanceWindow", @@ -200,6 +205,7 @@ "GetOpenIDConfigResponse", "GetOperationRequest", "GetServerConfigRequest", + "GkeBackupAgentConfig", "GPUSharingConfig", "HorizontalPodAutoscaling", "HttpLoadBalancing", @@ -293,7 +299,9 @@ "WorkloadIdentityConfig", "WorkloadMetadataConfig", "DatapathProvider", + "IPv6AccessType", "NodePoolUpdateStrategy", "PrivateIPv6GoogleAccess", + "StackType", "UpgradeResourceType", ) diff --git a/google/cloud/container_v1/__init__.py b/google/cloud/container_v1/__init__.py index 40a5995e..1f0c1628 100644 --- a/google/cloud/container_v1/__init__.py +++ b/google/cloud/container_v1/__init__.py @@ -35,6 +35,7 @@ CompleteNodePoolUpgradeRequest, ConfidentialNodes, ConfigConnectorConfig, + CostManagementConfig, CreateClusterRequest, CreateNodePoolRequest, DailyMaintenanceWindow, @@ -56,6 +57,7 @@ GetOpenIDConfigResponse, GetOperationRequest, GetServerConfigRequest, + GkeBackupAgentConfig, GPUSharingConfig, HorizontalPodAutoscaling, HttpLoadBalancing, @@ -63,6 +65,7 @@ ILBSubsettingConfig, IntraNodeVisibilityConfig, IPAllocationPolicy, + IPv6AccessType, Jwk, KubernetesDashboard, LegacyAbac, @@ -136,6 +139,7 @@ SetNodePoolSizeRequest, ShieldedInstanceConfig, ShieldedNodes, + StackType, StartIPRotationRequest, StatusCondition, TimeWindow, @@ -175,6 +179,7 @@ "CompleteNodePoolUpgradeRequest", "ConfidentialNodes", "ConfigConnectorConfig", + "CostManagementConfig", "CreateClusterRequest", "CreateNodePoolRequest", "DNSConfig", @@ -197,10 +202,12 @@ "GetOpenIDConfigResponse", "GetOperationRequest", "GetServerConfigRequest", + "GkeBackupAgentConfig", "HorizontalPodAutoscaling", "HttpLoadBalancing", "ILBSubsettingConfig", "IPAllocationPolicy", + "IPv6AccessType", "IdentityServiceConfig", "IntraNodeVisibilityConfig", "Jwk", @@ -276,6 +283,7 @@ "SetNodePoolSizeRequest", "ShieldedInstanceConfig", "ShieldedNodes", + "StackType", "StartIPRotationRequest", "StatusCondition", "TimeWindow", diff --git a/google/cloud/container_v1/types/__init__.py b/google/cloud/container_v1/types/__init__.py index ff8d24e6..83e4a36a 100644 --- a/google/cloud/container_v1/types/__init__.py +++ b/google/cloud/container_v1/types/__init__.py @@ -33,6 +33,7 @@ CompleteNodePoolUpgradeRequest, ConfidentialNodes, ConfigConnectorConfig, + CostManagementConfig, CreateClusterRequest, CreateNodePoolRequest, DailyMaintenanceWindow, @@ -54,6 +55,7 @@ GetOpenIDConfigResponse, GetOperationRequest, GetServerConfigRequest, + GkeBackupAgentConfig, GPUSharingConfig, HorizontalPodAutoscaling, HttpLoadBalancing, @@ -61,6 +63,7 @@ ILBSubsettingConfig, IntraNodeVisibilityConfig, IPAllocationPolicy, + IPv6AccessType, Jwk, KubernetesDashboard, LegacyAbac, @@ -134,6 +137,7 @@ SetNodePoolSizeRequest, ShieldedInstanceConfig, ShieldedNodes, + StackType, StartIPRotationRequest, StatusCondition, TimeWindow, @@ -171,6 +175,7 @@ "CompleteNodePoolUpgradeRequest", "ConfidentialNodes", "ConfigConnectorConfig", + "CostManagementConfig", "CreateClusterRequest", "CreateNodePoolRequest", "DailyMaintenanceWindow", @@ -191,6 +196,7 @@ "GetOpenIDConfigResponse", "GetOperationRequest", "GetServerConfigRequest", + "GkeBackupAgentConfig", "GPUSharingConfig", "HorizontalPodAutoscaling", "HttpLoadBalancing", @@ -284,7 +290,9 @@ "WorkloadIdentityConfig", "WorkloadMetadataConfig", "DatapathProvider", + "IPv6AccessType", "NodePoolUpdateStrategy", "PrivateIPv6GoogleAccess", + "StackType", "UpgradeResourceType", ) diff --git a/google/cloud/container_v1/types/cluster_service.py b/google/cloud/container_v1/types/cluster_service.py index fe22de01..d9d4c692 100644 --- a/google/cloud/container_v1/types/cluster_service.py +++ b/google/cloud/container_v1/types/cluster_service.py @@ -27,6 +27,8 @@ "UpgradeResourceType", "DatapathProvider", "NodePoolUpdateStrategy", + "StackType", + "IPv6AccessType", "LinuxNodeConfig", "NodeKubeletConfig", "NodeConfig", @@ -55,6 +57,7 @@ "ConfigConnectorConfig", "GcePersistentDiskCsiDriverConfig", "GcpFilestoreCsiDriverConfig", + "GkeBackupAgentConfig", "MasterAuthorizedNetworksConfig", "LegacyAbac", "NetworkPolicy", @@ -128,6 +131,7 @@ "Jwk", "GetJSONWebKeysResponse", "ReleaseChannel", + "CostManagementConfig", "IntraNodeVisibilityConfig", "ILBSubsettingConfig", "DNSConfig", @@ -198,6 +202,20 @@ class NodePoolUpdateStrategy(proto.Enum): SURGE = 3 +class StackType(proto.Enum): + r"""Possible values for IP stack type""" + STACK_TYPE_UNSPECIFIED = 0 + IPV4 = 1 + IPV4_IPV6 = 2 + + +class IPv6AccessType(proto.Enum): + r"""Possible values for IPv6 access type""" + IPV6_ACCESS_TYPE_UNSPECIFIED = 0 + INTERNAL = 1 + EXTERNAL = 2 + + class LinuxNodeConfig(proto.Message): r"""Parameters that can be configured on Linux nodes. @@ -1055,6 +1073,9 @@ class AddonsConfig(proto.Message): gcp_filestore_csi_driver_config (google.cloud.container_v1.types.GcpFilestoreCsiDriverConfig): Configuration for the GCP Filestore CSI driver. + gke_backup_agent_config (google.cloud.container_v1.types.GkeBackupAgentConfig): + Configuration for the Backup for GKE agent + addon. """ http_load_balancing = proto.Field( @@ -1102,6 +1123,11 @@ class AddonsConfig(proto.Message): number=14, message="GcpFilestoreCsiDriverConfig", ) + gke_backup_agent_config = proto.Field( + proto.MESSAGE, + number=16, + message="GkeBackupAgentConfig", + ) class HttpLoadBalancing(proto.Message): @@ -1366,6 +1392,21 @@ class GcpFilestoreCsiDriverConfig(proto.Message): ) +class GkeBackupAgentConfig(proto.Message): + r"""Configuration for the Backup for GKE Agent. + + Attributes: + enabled (bool): + Whether the Backup for GKE agent is enabled + for this cluster. + """ + + enabled = proto.Field( + proto.BOOL, + number=1, + ) + + class MasterAuthorizedNetworksConfig(proto.Message): r"""Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all @@ -1612,6 +1653,11 @@ class IPAllocationPolicy(proto.Message): true if use_ip_aliases is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode + stack_type (google.cloud.container_v1.types.StackType): + The IP stack type of the cluster + ipv6_access_type (google.cloud.container_v1.types.IPv6AccessType): + The ipv6 access type (internal or external) when + create_subnetwork is true """ use_ip_aliases = proto.Field( @@ -1666,6 +1712,16 @@ class IPAllocationPolicy(proto.Message): proto.BOOL, number=15, ) + stack_type = proto.Field( + proto.ENUM, + number=16, + enum="StackType", + ) + ipv6_access_type = proto.Field( + proto.ENUM, + number=17, + enum="IPv6AccessType", + ) class Cluster(proto.Message): @@ -1844,6 +1900,9 @@ class Cluster(proto.Message): mesh_certificates (google.cloud.container_v1.types.MeshCertificates): Configuration for issuance of mTLS keys and certificates to Kubernetes pods. + cost_management_config (google.cloud.container_v1.types.CostManagementConfig): + Configuration for the fine-grained cost + management feature. notification_config (google.cloud.container_v1.types.NotificationConfig): Notification configuration of the cluster. confidential_nodes (google.cloud.container_v1.types.ConfidentialNodes): @@ -2133,6 +2192,11 @@ class Status(proto.Enum): number=67, message="MeshCertificates", ) + cost_management_config = proto.Field( + proto.MESSAGE, + number=45, + message="CostManagementConfig", + ) notification_config = proto.Field( proto.MESSAGE, number=49, @@ -2370,6 +2434,9 @@ class ClusterUpdate(proto.Message): certificates to Kubernetes pods. desired_shielded_nodes (google.cloud.container_v1.types.ShieldedNodes): Configuration for Shielded Nodes. + desired_cost_management_config (google.cloud.container_v1.types.CostManagementConfig): + The desired configuration for the + fine-grained cost management feature. desired_dns_config (google.cloud.container_v1.types.DNSConfig): DNSConfig contains clusterDNS config for this cluster. @@ -2515,6 +2582,11 @@ class ClusterUpdate(proto.Message): number=48, message="ShieldedNodes", ) + desired_cost_management_config = proto.Field( + proto.MESSAGE, + number=49, + message="CostManagementConfig", + ) desired_dns_config = proto.Field( proto.MESSAGE, number=53, @@ -6088,6 +6160,20 @@ class Channel(proto.Enum): ) +class CostManagementConfig(proto.Message): + r"""Configuration for fine-grained cost management feature. + + Attributes: + enabled (bool): + Whether the feature is enabled or not. + """ + + enabled = proto.Field( + proto.BOOL, + number=1, + ) + + class IntraNodeVisibilityConfig(proto.Message): r"""IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. diff --git a/google/cloud/container_v1beta1/types/cluster_service.py b/google/cloud/container_v1beta1/types/cluster_service.py index fe30093f..9742540d 100644 --- a/google/cloud/container_v1beta1/types/cluster_service.py +++ b/google/cloud/container_v1beta1/types/cluster_service.py @@ -2639,14 +2639,33 @@ class ProtectConfig(proto.Message): enabled for a cluster's workload configurations. This field is a member of `oneof`_ ``_workload_config``. + workload_vulnerability_mode (google.cloud.container_v1beta1.types.ProtectConfig.WorkloadVulnerabilityMode): + Sets which mode to use for Protect workload + vulnerability scanning feature. + + This field is a member of `oneof`_ ``_workload_vulnerability_mode``. """ + class WorkloadVulnerabilityMode(proto.Enum): + r"""WorkloadVulnerabilityMode defines mode to perform + vulnerability scanning. + """ + WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED = 0 + DISABLED = 1 + BASIC = 2 + workload_config = proto.Field( proto.MESSAGE, number=1, optional=True, message="WorkloadConfig", ) + workload_vulnerability_mode = proto.Field( + proto.ENUM, + number=2, + optional=True, + enum=WorkloadVulnerabilityMode, + ) class NodePoolDefaults(proto.Message): diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index e55bbd4c..aa26440b 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-container==2.12.1 +google-cloud-container==2.12.2 backoff==2.2.1 -pytest==7.1.3 \ No newline at end of file +pytest==7.2.0 \ No newline at end of file diff --git a/setup.py b/setup.py index 033bb171..e44ffa76 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ name = "google-cloud-container" description = "Google Container Engine API client library" -version = "2.12.2" +version = "2.13.0" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta'