python/services/container/cluster.py (4,470 lines of code) (raw):
# Copyright 2021 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from connector import channel
from google3.cloud.graphite.mmv2.services.google.container import cluster_pb2
from google3.cloud.graphite.mmv2.services.google.container import cluster_pb2_grpc
from typing import List
class Cluster(object):
def __init__(
self,
name: str = None,
description: str = None,
initial_node_count: int = None,
master_auth: dict = None,
logging_service: str = None,
monitoring_service: str = None,
network: str = None,
cluster_ipv4_cidr: str = None,
addons_config: dict = None,
subnetwork: str = None,
node_pools: list = None,
locations: list = None,
enable_kubernetes_alpha: bool = None,
resource_labels: dict = None,
label_fingerprint: str = None,
legacy_abac: dict = None,
network_policy: dict = None,
ip_allocation_policy: dict = None,
master_authorized_networks_config: dict = None,
binary_authorization: dict = None,
autoscaling: dict = None,
network_config: dict = None,
maintenance_policy: dict = None,
default_max_pods_constraint: dict = None,
resource_usage_export_config: dict = None,
authenticator_groups_config: dict = None,
private_cluster_config: dict = None,
database_encryption: dict = None,
vertical_pod_autoscaling: dict = None,
shielded_nodes: dict = None,
endpoint: str = None,
master_version: str = None,
create_time: str = None,
status: str = None,
status_message: str = None,
node_ipv4_cidr_size: int = None,
services_ipv4_cidr: str = None,
expire_time: str = None,
location: str = None,
enable_tpu: bool = None,
tpu_ipv4_cidr_block: str = None,
conditions: list = None,
autopilot: dict = None,
project: str = None,
node_config: dict = None,
release_channel: dict = None,
workload_identity_config: dict = None,
notification_config: dict = None,
confidential_nodes: dict = None,
self_link: str = None,
zone: str = None,
initial_cluster_version: str = None,
current_master_version: str = None,
current_node_version: str = None,
instance_group_urls: list = None,
current_node_count: int = None,
id: str = None,
service_account_file: str = "",
):
channel.initialize()
self.name = name
self.description = description
self.initial_node_count = initial_node_count
self.master_auth = master_auth
self.logging_service = logging_service
self.monitoring_service = monitoring_service
self.network = network
self.cluster_ipv4_cidr = cluster_ipv4_cidr
self.addons_config = addons_config
self.subnetwork = subnetwork
self.node_pools = node_pools
self.locations = locations
self.enable_kubernetes_alpha = enable_kubernetes_alpha
self.resource_labels = resource_labels
self.label_fingerprint = label_fingerprint
self.legacy_abac = legacy_abac
self.network_policy = network_policy
self.ip_allocation_policy = ip_allocation_policy
self.master_authorized_networks_config = master_authorized_networks_config
self.binary_authorization = binary_authorization
self.autoscaling = autoscaling
self.network_config = network_config
self.maintenance_policy = maintenance_policy
self.default_max_pods_constraint = default_max_pods_constraint
self.resource_usage_export_config = resource_usage_export_config
self.authenticator_groups_config = authenticator_groups_config
self.private_cluster_config = private_cluster_config
self.database_encryption = database_encryption
self.vertical_pod_autoscaling = vertical_pod_autoscaling
self.shielded_nodes = shielded_nodes
self.master_version = master_version
self.location = location
self.enable_tpu = enable_tpu
self.conditions = conditions
self.autopilot = autopilot
self.project = project
self.node_config = node_config
self.release_channel = release_channel
self.workload_identity_config = workload_identity_config
self.notification_config = notification_config
self.confidential_nodes = confidential_nodes
self.initial_cluster_version = initial_cluster_version
self.instance_group_urls = instance_group_urls
self.service_account_file = service_account_file
def apply(self):
stub = cluster_pb2_grpc.ContainerClusterServiceStub(channel.Channel())
request = cluster_pb2.ApplyContainerClusterRequest()
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.description):
request.resource.description = Primitive.to_proto(self.description)
if Primitive.to_proto(self.initial_node_count):
request.resource.initial_node_count = Primitive.to_proto(
self.initial_node_count
)
if ClusterMasterAuth.to_proto(self.master_auth):
request.resource.master_auth.CopyFrom(
ClusterMasterAuth.to_proto(self.master_auth)
)
else:
request.resource.ClearField("master_auth")
if Primitive.to_proto(self.logging_service):
request.resource.logging_service = Primitive.to_proto(self.logging_service)
if Primitive.to_proto(self.monitoring_service):
request.resource.monitoring_service = Primitive.to_proto(
self.monitoring_service
)
if Primitive.to_proto(self.network):
request.resource.network = Primitive.to_proto(self.network)
if Primitive.to_proto(self.cluster_ipv4_cidr):
request.resource.cluster_ipv4_cidr = Primitive.to_proto(
self.cluster_ipv4_cidr
)
if ClusterAddonsConfig.to_proto(self.addons_config):
request.resource.addons_config.CopyFrom(
ClusterAddonsConfig.to_proto(self.addons_config)
)
else:
request.resource.ClearField("addons_config")
if Primitive.to_proto(self.subnetwork):
request.resource.subnetwork = Primitive.to_proto(self.subnetwork)
if ClusterNodePoolsArray.to_proto(self.node_pools):
request.resource.node_pools.extend(
ClusterNodePoolsArray.to_proto(self.node_pools)
)
if Primitive.to_proto(self.locations):
request.resource.locations.extend(Primitive.to_proto(self.locations))
if Primitive.to_proto(self.enable_kubernetes_alpha):
request.resource.enable_kubernetes_alpha = Primitive.to_proto(
self.enable_kubernetes_alpha
)
if Primitive.to_proto(self.resource_labels):
request.resource.resource_labels = Primitive.to_proto(self.resource_labels)
if Primitive.to_proto(self.label_fingerprint):
request.resource.label_fingerprint = Primitive.to_proto(
self.label_fingerprint
)
if ClusterLegacyAbac.to_proto(self.legacy_abac):
request.resource.legacy_abac.CopyFrom(
ClusterLegacyAbac.to_proto(self.legacy_abac)
)
else:
request.resource.ClearField("legacy_abac")
if ClusterNetworkPolicy.to_proto(self.network_policy):
request.resource.network_policy.CopyFrom(
ClusterNetworkPolicy.to_proto(self.network_policy)
)
else:
request.resource.ClearField("network_policy")
if ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy):
request.resource.ip_allocation_policy.CopyFrom(
ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy)
)
else:
request.resource.ClearField("ip_allocation_policy")
if ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
):
request.resource.master_authorized_networks_config.CopyFrom(
ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
)
)
else:
request.resource.ClearField("master_authorized_networks_config")
if ClusterBinaryAuthorization.to_proto(self.binary_authorization):
request.resource.binary_authorization.CopyFrom(
ClusterBinaryAuthorization.to_proto(self.binary_authorization)
)
else:
request.resource.ClearField("binary_authorization")
if ClusterAutoscaling.to_proto(self.autoscaling):
request.resource.autoscaling.CopyFrom(
ClusterAutoscaling.to_proto(self.autoscaling)
)
else:
request.resource.ClearField("autoscaling")
if ClusterNetworkConfig.to_proto(self.network_config):
request.resource.network_config.CopyFrom(
ClusterNetworkConfig.to_proto(self.network_config)
)
else:
request.resource.ClearField("network_config")
if ClusterMaintenancePolicy.to_proto(self.maintenance_policy):
request.resource.maintenance_policy.CopyFrom(
ClusterMaintenancePolicy.to_proto(self.maintenance_policy)
)
else:
request.resource.ClearField("maintenance_policy")
if ClusterDefaultMaxPodsConstraint.to_proto(self.default_max_pods_constraint):
request.resource.default_max_pods_constraint.CopyFrom(
ClusterDefaultMaxPodsConstraint.to_proto(
self.default_max_pods_constraint
)
)
else:
request.resource.ClearField("default_max_pods_constraint")
if ClusterResourceUsageExportConfig.to_proto(self.resource_usage_export_config):
request.resource.resource_usage_export_config.CopyFrom(
ClusterResourceUsageExportConfig.to_proto(
self.resource_usage_export_config
)
)
else:
request.resource.ClearField("resource_usage_export_config")
if ClusterAuthenticatorGroupsConfig.to_proto(self.authenticator_groups_config):
request.resource.authenticator_groups_config.CopyFrom(
ClusterAuthenticatorGroupsConfig.to_proto(
self.authenticator_groups_config
)
)
else:
request.resource.ClearField("authenticator_groups_config")
if ClusterPrivateClusterConfig.to_proto(self.private_cluster_config):
request.resource.private_cluster_config.CopyFrom(
ClusterPrivateClusterConfig.to_proto(self.private_cluster_config)
)
else:
request.resource.ClearField("private_cluster_config")
if ClusterDatabaseEncryption.to_proto(self.database_encryption):
request.resource.database_encryption.CopyFrom(
ClusterDatabaseEncryption.to_proto(self.database_encryption)
)
else:
request.resource.ClearField("database_encryption")
if ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling):
request.resource.vertical_pod_autoscaling.CopyFrom(
ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling)
)
else:
request.resource.ClearField("vertical_pod_autoscaling")
if ClusterShieldedNodes.to_proto(self.shielded_nodes):
request.resource.shielded_nodes.CopyFrom(
ClusterShieldedNodes.to_proto(self.shielded_nodes)
)
else:
request.resource.ClearField("shielded_nodes")
if Primitive.to_proto(self.master_version):
request.resource.master_version = Primitive.to_proto(self.master_version)
if Primitive.to_proto(self.location):
request.resource.location = Primitive.to_proto(self.location)
if Primitive.to_proto(self.enable_tpu):
request.resource.enable_tpu = Primitive.to_proto(self.enable_tpu)
if ClusterConditionsArray.to_proto(self.conditions):
request.resource.conditions.extend(
ClusterConditionsArray.to_proto(self.conditions)
)
if ClusterAutopilot.to_proto(self.autopilot):
request.resource.autopilot.CopyFrom(
ClusterAutopilot.to_proto(self.autopilot)
)
else:
request.resource.ClearField("autopilot")
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
if ClusterNodeConfig.to_proto(self.node_config):
request.resource.node_config.CopyFrom(
ClusterNodeConfig.to_proto(self.node_config)
)
else:
request.resource.ClearField("node_config")
if ClusterReleaseChannel.to_proto(self.release_channel):
request.resource.release_channel.CopyFrom(
ClusterReleaseChannel.to_proto(self.release_channel)
)
else:
request.resource.ClearField("release_channel")
if ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config):
request.resource.workload_identity_config.CopyFrom(
ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config)
)
else:
request.resource.ClearField("workload_identity_config")
if ClusterNotificationConfig.to_proto(self.notification_config):
request.resource.notification_config.CopyFrom(
ClusterNotificationConfig.to_proto(self.notification_config)
)
else:
request.resource.ClearField("notification_config")
if ClusterConfidentialNodes.to_proto(self.confidential_nodes):
request.resource.confidential_nodes.CopyFrom(
ClusterConfidentialNodes.to_proto(self.confidential_nodes)
)
else:
request.resource.ClearField("confidential_nodes")
if Primitive.to_proto(self.initial_cluster_version):
request.resource.initial_cluster_version = Primitive.to_proto(
self.initial_cluster_version
)
if Primitive.to_proto(self.instance_group_urls):
request.resource.instance_group_urls.extend(
Primitive.to_proto(self.instance_group_urls)
)
request.service_account_file = self.service_account_file
response = stub.ApplyContainerCluster(request)
self.name = Primitive.from_proto(response.name)
self.description = Primitive.from_proto(response.description)
self.initial_node_count = Primitive.from_proto(response.initial_node_count)
self.master_auth = ClusterMasterAuth.from_proto(response.master_auth)
self.logging_service = Primitive.from_proto(response.logging_service)
self.monitoring_service = Primitive.from_proto(response.monitoring_service)
self.network = Primitive.from_proto(response.network)
self.cluster_ipv4_cidr = Primitive.from_proto(response.cluster_ipv4_cidr)
self.addons_config = ClusterAddonsConfig.from_proto(response.addons_config)
self.subnetwork = Primitive.from_proto(response.subnetwork)
self.node_pools = ClusterNodePoolsArray.from_proto(response.node_pools)
self.locations = Primitive.from_proto(response.locations)
self.enable_kubernetes_alpha = Primitive.from_proto(
response.enable_kubernetes_alpha
)
self.resource_labels = Primitive.from_proto(response.resource_labels)
self.label_fingerprint = Primitive.from_proto(response.label_fingerprint)
self.legacy_abac = ClusterLegacyAbac.from_proto(response.legacy_abac)
self.network_policy = ClusterNetworkPolicy.from_proto(response.network_policy)
self.ip_allocation_policy = ClusterIPAllocationPolicy.from_proto(
response.ip_allocation_policy
)
self.master_authorized_networks_config = ClusterMasterAuthorizedNetworksConfig.from_proto(
response.master_authorized_networks_config
)
self.binary_authorization = ClusterBinaryAuthorization.from_proto(
response.binary_authorization
)
self.autoscaling = ClusterAutoscaling.from_proto(response.autoscaling)
self.network_config = ClusterNetworkConfig.from_proto(response.network_config)
self.maintenance_policy = ClusterMaintenancePolicy.from_proto(
response.maintenance_policy
)
self.default_max_pods_constraint = ClusterDefaultMaxPodsConstraint.from_proto(
response.default_max_pods_constraint
)
self.resource_usage_export_config = ClusterResourceUsageExportConfig.from_proto(
response.resource_usage_export_config
)
self.authenticator_groups_config = ClusterAuthenticatorGroupsConfig.from_proto(
response.authenticator_groups_config
)
self.private_cluster_config = ClusterPrivateClusterConfig.from_proto(
response.private_cluster_config
)
self.database_encryption = ClusterDatabaseEncryption.from_proto(
response.database_encryption
)
self.vertical_pod_autoscaling = ClusterVerticalPodAutoscaling.from_proto(
response.vertical_pod_autoscaling
)
self.shielded_nodes = ClusterShieldedNodes.from_proto(response.shielded_nodes)
self.endpoint = Primitive.from_proto(response.endpoint)
self.master_version = Primitive.from_proto(response.master_version)
self.create_time = Primitive.from_proto(response.create_time)
self.status = Primitive.from_proto(response.status)
self.status_message = Primitive.from_proto(response.status_message)
self.node_ipv4_cidr_size = Primitive.from_proto(response.node_ipv4_cidr_size)
self.services_ipv4_cidr = Primitive.from_proto(response.services_ipv4_cidr)
self.expire_time = Primitive.from_proto(response.expire_time)
self.location = Primitive.from_proto(response.location)
self.enable_tpu = Primitive.from_proto(response.enable_tpu)
self.tpu_ipv4_cidr_block = Primitive.from_proto(response.tpu_ipv4_cidr_block)
self.conditions = ClusterConditionsArray.from_proto(response.conditions)
self.autopilot = ClusterAutopilot.from_proto(response.autopilot)
self.project = Primitive.from_proto(response.project)
self.node_config = ClusterNodeConfig.from_proto(response.node_config)
self.release_channel = ClusterReleaseChannel.from_proto(
response.release_channel
)
self.workload_identity_config = ClusterWorkloadIdentityConfig.from_proto(
response.workload_identity_config
)
self.notification_config = ClusterNotificationConfig.from_proto(
response.notification_config
)
self.confidential_nodes = ClusterConfidentialNodes.from_proto(
response.confidential_nodes
)
self.self_link = Primitive.from_proto(response.self_link)
self.zone = Primitive.from_proto(response.zone)
self.initial_cluster_version = Primitive.from_proto(
response.initial_cluster_version
)
self.current_master_version = Primitive.from_proto(
response.current_master_version
)
self.current_node_version = Primitive.from_proto(response.current_node_version)
self.instance_group_urls = Primitive.from_proto(response.instance_group_urls)
self.current_node_count = Primitive.from_proto(response.current_node_count)
self.id = Primitive.from_proto(response.id)
def delete(self):
stub = cluster_pb2_grpc.ContainerClusterServiceStub(channel.Channel())
request = cluster_pb2.DeleteContainerClusterRequest()
request.service_account_file = self.service_account_file
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.description):
request.resource.description = Primitive.to_proto(self.description)
if Primitive.to_proto(self.initial_node_count):
request.resource.initial_node_count = Primitive.to_proto(
self.initial_node_count
)
if ClusterMasterAuth.to_proto(self.master_auth):
request.resource.master_auth.CopyFrom(
ClusterMasterAuth.to_proto(self.master_auth)
)
else:
request.resource.ClearField("master_auth")
if Primitive.to_proto(self.logging_service):
request.resource.logging_service = Primitive.to_proto(self.logging_service)
if Primitive.to_proto(self.monitoring_service):
request.resource.monitoring_service = Primitive.to_proto(
self.monitoring_service
)
if Primitive.to_proto(self.network):
request.resource.network = Primitive.to_proto(self.network)
if Primitive.to_proto(self.cluster_ipv4_cidr):
request.resource.cluster_ipv4_cidr = Primitive.to_proto(
self.cluster_ipv4_cidr
)
if ClusterAddonsConfig.to_proto(self.addons_config):
request.resource.addons_config.CopyFrom(
ClusterAddonsConfig.to_proto(self.addons_config)
)
else:
request.resource.ClearField("addons_config")
if Primitive.to_proto(self.subnetwork):
request.resource.subnetwork = Primitive.to_proto(self.subnetwork)
if ClusterNodePoolsArray.to_proto(self.node_pools):
request.resource.node_pools.extend(
ClusterNodePoolsArray.to_proto(self.node_pools)
)
if Primitive.to_proto(self.locations):
request.resource.locations.extend(Primitive.to_proto(self.locations))
if Primitive.to_proto(self.enable_kubernetes_alpha):
request.resource.enable_kubernetes_alpha = Primitive.to_proto(
self.enable_kubernetes_alpha
)
if Primitive.to_proto(self.resource_labels):
request.resource.resource_labels = Primitive.to_proto(self.resource_labels)
if Primitive.to_proto(self.label_fingerprint):
request.resource.label_fingerprint = Primitive.to_proto(
self.label_fingerprint
)
if ClusterLegacyAbac.to_proto(self.legacy_abac):
request.resource.legacy_abac.CopyFrom(
ClusterLegacyAbac.to_proto(self.legacy_abac)
)
else:
request.resource.ClearField("legacy_abac")
if ClusterNetworkPolicy.to_proto(self.network_policy):
request.resource.network_policy.CopyFrom(
ClusterNetworkPolicy.to_proto(self.network_policy)
)
else:
request.resource.ClearField("network_policy")
if ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy):
request.resource.ip_allocation_policy.CopyFrom(
ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy)
)
else:
request.resource.ClearField("ip_allocation_policy")
if ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
):
request.resource.master_authorized_networks_config.CopyFrom(
ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
)
)
else:
request.resource.ClearField("master_authorized_networks_config")
if ClusterBinaryAuthorization.to_proto(self.binary_authorization):
request.resource.binary_authorization.CopyFrom(
ClusterBinaryAuthorization.to_proto(self.binary_authorization)
)
else:
request.resource.ClearField("binary_authorization")
if ClusterAutoscaling.to_proto(self.autoscaling):
request.resource.autoscaling.CopyFrom(
ClusterAutoscaling.to_proto(self.autoscaling)
)
else:
request.resource.ClearField("autoscaling")
if ClusterNetworkConfig.to_proto(self.network_config):
request.resource.network_config.CopyFrom(
ClusterNetworkConfig.to_proto(self.network_config)
)
else:
request.resource.ClearField("network_config")
if ClusterMaintenancePolicy.to_proto(self.maintenance_policy):
request.resource.maintenance_policy.CopyFrom(
ClusterMaintenancePolicy.to_proto(self.maintenance_policy)
)
else:
request.resource.ClearField("maintenance_policy")
if ClusterDefaultMaxPodsConstraint.to_proto(self.default_max_pods_constraint):
request.resource.default_max_pods_constraint.CopyFrom(
ClusterDefaultMaxPodsConstraint.to_proto(
self.default_max_pods_constraint
)
)
else:
request.resource.ClearField("default_max_pods_constraint")
if ClusterResourceUsageExportConfig.to_proto(self.resource_usage_export_config):
request.resource.resource_usage_export_config.CopyFrom(
ClusterResourceUsageExportConfig.to_proto(
self.resource_usage_export_config
)
)
else:
request.resource.ClearField("resource_usage_export_config")
if ClusterAuthenticatorGroupsConfig.to_proto(self.authenticator_groups_config):
request.resource.authenticator_groups_config.CopyFrom(
ClusterAuthenticatorGroupsConfig.to_proto(
self.authenticator_groups_config
)
)
else:
request.resource.ClearField("authenticator_groups_config")
if ClusterPrivateClusterConfig.to_proto(self.private_cluster_config):
request.resource.private_cluster_config.CopyFrom(
ClusterPrivateClusterConfig.to_proto(self.private_cluster_config)
)
else:
request.resource.ClearField("private_cluster_config")
if ClusterDatabaseEncryption.to_proto(self.database_encryption):
request.resource.database_encryption.CopyFrom(
ClusterDatabaseEncryption.to_proto(self.database_encryption)
)
else:
request.resource.ClearField("database_encryption")
if ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling):
request.resource.vertical_pod_autoscaling.CopyFrom(
ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling)
)
else:
request.resource.ClearField("vertical_pod_autoscaling")
if ClusterShieldedNodes.to_proto(self.shielded_nodes):
request.resource.shielded_nodes.CopyFrom(
ClusterShieldedNodes.to_proto(self.shielded_nodes)
)
else:
request.resource.ClearField("shielded_nodes")
if Primitive.to_proto(self.master_version):
request.resource.master_version = Primitive.to_proto(self.master_version)
if Primitive.to_proto(self.location):
request.resource.location = Primitive.to_proto(self.location)
if Primitive.to_proto(self.enable_tpu):
request.resource.enable_tpu = Primitive.to_proto(self.enable_tpu)
if ClusterConditionsArray.to_proto(self.conditions):
request.resource.conditions.extend(
ClusterConditionsArray.to_proto(self.conditions)
)
if ClusterAutopilot.to_proto(self.autopilot):
request.resource.autopilot.CopyFrom(
ClusterAutopilot.to_proto(self.autopilot)
)
else:
request.resource.ClearField("autopilot")
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
if ClusterNodeConfig.to_proto(self.node_config):
request.resource.node_config.CopyFrom(
ClusterNodeConfig.to_proto(self.node_config)
)
else:
request.resource.ClearField("node_config")
if ClusterReleaseChannel.to_proto(self.release_channel):
request.resource.release_channel.CopyFrom(
ClusterReleaseChannel.to_proto(self.release_channel)
)
else:
request.resource.ClearField("release_channel")
if ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config):
request.resource.workload_identity_config.CopyFrom(
ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config)
)
else:
request.resource.ClearField("workload_identity_config")
if ClusterNotificationConfig.to_proto(self.notification_config):
request.resource.notification_config.CopyFrom(
ClusterNotificationConfig.to_proto(self.notification_config)
)
else:
request.resource.ClearField("notification_config")
if ClusterConfidentialNodes.to_proto(self.confidential_nodes):
request.resource.confidential_nodes.CopyFrom(
ClusterConfidentialNodes.to_proto(self.confidential_nodes)
)
else:
request.resource.ClearField("confidential_nodes")
if Primitive.to_proto(self.initial_cluster_version):
request.resource.initial_cluster_version = Primitive.to_proto(
self.initial_cluster_version
)
if Primitive.to_proto(self.instance_group_urls):
request.resource.instance_group_urls.extend(
Primitive.to_proto(self.instance_group_urls)
)
response = stub.DeleteContainerCluster(request)
@classmethod
def list(self, project, location, service_account_file=""):
stub = cluster_pb2_grpc.ContainerClusterServiceStub(channel.Channel())
request = cluster_pb2.ListContainerClusterRequest()
request.service_account_file = service_account_file
request.Project = project
request.Location = location
return stub.ListContainerCluster(request).items
def to_proto(self):
resource = cluster_pb2.ContainerCluster()
if Primitive.to_proto(self.name):
resource.name = Primitive.to_proto(self.name)
if Primitive.to_proto(self.description):
resource.description = Primitive.to_proto(self.description)
if Primitive.to_proto(self.initial_node_count):
resource.initial_node_count = Primitive.to_proto(self.initial_node_count)
if ClusterMasterAuth.to_proto(self.master_auth):
resource.master_auth.CopyFrom(ClusterMasterAuth.to_proto(self.master_auth))
else:
resource.ClearField("master_auth")
if Primitive.to_proto(self.logging_service):
resource.logging_service = Primitive.to_proto(self.logging_service)
if Primitive.to_proto(self.monitoring_service):
resource.monitoring_service = Primitive.to_proto(self.monitoring_service)
if Primitive.to_proto(self.network):
resource.network = Primitive.to_proto(self.network)
if Primitive.to_proto(self.cluster_ipv4_cidr):
resource.cluster_ipv4_cidr = Primitive.to_proto(self.cluster_ipv4_cidr)
if ClusterAddonsConfig.to_proto(self.addons_config):
resource.addons_config.CopyFrom(
ClusterAddonsConfig.to_proto(self.addons_config)
)
else:
resource.ClearField("addons_config")
if Primitive.to_proto(self.subnetwork):
resource.subnetwork = Primitive.to_proto(self.subnetwork)
if ClusterNodePoolsArray.to_proto(self.node_pools):
resource.node_pools.extend(ClusterNodePoolsArray.to_proto(self.node_pools))
if Primitive.to_proto(self.locations):
resource.locations.extend(Primitive.to_proto(self.locations))
if Primitive.to_proto(self.enable_kubernetes_alpha):
resource.enable_kubernetes_alpha = Primitive.to_proto(
self.enable_kubernetes_alpha
)
if Primitive.to_proto(self.resource_labels):
resource.resource_labels = Primitive.to_proto(self.resource_labels)
if Primitive.to_proto(self.label_fingerprint):
resource.label_fingerprint = Primitive.to_proto(self.label_fingerprint)
if ClusterLegacyAbac.to_proto(self.legacy_abac):
resource.legacy_abac.CopyFrom(ClusterLegacyAbac.to_proto(self.legacy_abac))
else:
resource.ClearField("legacy_abac")
if ClusterNetworkPolicy.to_proto(self.network_policy):
resource.network_policy.CopyFrom(
ClusterNetworkPolicy.to_proto(self.network_policy)
)
else:
resource.ClearField("network_policy")
if ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy):
resource.ip_allocation_policy.CopyFrom(
ClusterIPAllocationPolicy.to_proto(self.ip_allocation_policy)
)
else:
resource.ClearField("ip_allocation_policy")
if ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
):
resource.master_authorized_networks_config.CopyFrom(
ClusterMasterAuthorizedNetworksConfig.to_proto(
self.master_authorized_networks_config
)
)
else:
resource.ClearField("master_authorized_networks_config")
if ClusterBinaryAuthorization.to_proto(self.binary_authorization):
resource.binary_authorization.CopyFrom(
ClusterBinaryAuthorization.to_proto(self.binary_authorization)
)
else:
resource.ClearField("binary_authorization")
if ClusterAutoscaling.to_proto(self.autoscaling):
resource.autoscaling.CopyFrom(ClusterAutoscaling.to_proto(self.autoscaling))
else:
resource.ClearField("autoscaling")
if ClusterNetworkConfig.to_proto(self.network_config):
resource.network_config.CopyFrom(
ClusterNetworkConfig.to_proto(self.network_config)
)
else:
resource.ClearField("network_config")
if ClusterMaintenancePolicy.to_proto(self.maintenance_policy):
resource.maintenance_policy.CopyFrom(
ClusterMaintenancePolicy.to_proto(self.maintenance_policy)
)
else:
resource.ClearField("maintenance_policy")
if ClusterDefaultMaxPodsConstraint.to_proto(self.default_max_pods_constraint):
resource.default_max_pods_constraint.CopyFrom(
ClusterDefaultMaxPodsConstraint.to_proto(
self.default_max_pods_constraint
)
)
else:
resource.ClearField("default_max_pods_constraint")
if ClusterResourceUsageExportConfig.to_proto(self.resource_usage_export_config):
resource.resource_usage_export_config.CopyFrom(
ClusterResourceUsageExportConfig.to_proto(
self.resource_usage_export_config
)
)
else:
resource.ClearField("resource_usage_export_config")
if ClusterAuthenticatorGroupsConfig.to_proto(self.authenticator_groups_config):
resource.authenticator_groups_config.CopyFrom(
ClusterAuthenticatorGroupsConfig.to_proto(
self.authenticator_groups_config
)
)
else:
resource.ClearField("authenticator_groups_config")
if ClusterPrivateClusterConfig.to_proto(self.private_cluster_config):
resource.private_cluster_config.CopyFrom(
ClusterPrivateClusterConfig.to_proto(self.private_cluster_config)
)
else:
resource.ClearField("private_cluster_config")
if ClusterDatabaseEncryption.to_proto(self.database_encryption):
resource.database_encryption.CopyFrom(
ClusterDatabaseEncryption.to_proto(self.database_encryption)
)
else:
resource.ClearField("database_encryption")
if ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling):
resource.vertical_pod_autoscaling.CopyFrom(
ClusterVerticalPodAutoscaling.to_proto(self.vertical_pod_autoscaling)
)
else:
resource.ClearField("vertical_pod_autoscaling")
if ClusterShieldedNodes.to_proto(self.shielded_nodes):
resource.shielded_nodes.CopyFrom(
ClusterShieldedNodes.to_proto(self.shielded_nodes)
)
else:
resource.ClearField("shielded_nodes")
if Primitive.to_proto(self.master_version):
resource.master_version = Primitive.to_proto(self.master_version)
if Primitive.to_proto(self.location):
resource.location = Primitive.to_proto(self.location)
if Primitive.to_proto(self.enable_tpu):
resource.enable_tpu = Primitive.to_proto(self.enable_tpu)
if ClusterConditionsArray.to_proto(self.conditions):
resource.conditions.extend(ClusterConditionsArray.to_proto(self.conditions))
if ClusterAutopilot.to_proto(self.autopilot):
resource.autopilot.CopyFrom(ClusterAutopilot.to_proto(self.autopilot))
else:
resource.ClearField("autopilot")
if Primitive.to_proto(self.project):
resource.project = Primitive.to_proto(self.project)
if ClusterNodeConfig.to_proto(self.node_config):
resource.node_config.CopyFrom(ClusterNodeConfig.to_proto(self.node_config))
else:
resource.ClearField("node_config")
if ClusterReleaseChannel.to_proto(self.release_channel):
resource.release_channel.CopyFrom(
ClusterReleaseChannel.to_proto(self.release_channel)
)
else:
resource.ClearField("release_channel")
if ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config):
resource.workload_identity_config.CopyFrom(
ClusterWorkloadIdentityConfig.to_proto(self.workload_identity_config)
)
else:
resource.ClearField("workload_identity_config")
if ClusterNotificationConfig.to_proto(self.notification_config):
resource.notification_config.CopyFrom(
ClusterNotificationConfig.to_proto(self.notification_config)
)
else:
resource.ClearField("notification_config")
if ClusterConfidentialNodes.to_proto(self.confidential_nodes):
resource.confidential_nodes.CopyFrom(
ClusterConfidentialNodes.to_proto(self.confidential_nodes)
)
else:
resource.ClearField("confidential_nodes")
if Primitive.to_proto(self.initial_cluster_version):
resource.initial_cluster_version = Primitive.to_proto(
self.initial_cluster_version
)
if Primitive.to_proto(self.instance_group_urls):
resource.instance_group_urls.extend(
Primitive.to_proto(self.instance_group_urls)
)
return resource
class ClusterMasterAuth(object):
def __init__(
self,
username: str = None,
password: str = None,
client_certificate_config: dict = None,
cluster_ca_certificate: str = None,
client_certificate: str = None,
client_key: str = None,
):
self.username = username
self.password = password
self.client_certificate_config = client_certificate_config
self.cluster_ca_certificate = cluster_ca_certificate
self.client_certificate = client_certificate
self.client_key = client_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMasterAuth()
if Primitive.to_proto(resource.username):
res.username = Primitive.to_proto(resource.username)
if Primitive.to_proto(resource.password):
res.password = Primitive.to_proto(resource.password)
if ClusterMasterAuthClientCertificateConfig.to_proto(
resource.client_certificate_config
):
res.client_certificate_config.CopyFrom(
ClusterMasterAuthClientCertificateConfig.to_proto(
resource.client_certificate_config
)
)
else:
res.ClearField("client_certificate_config")
if Primitive.to_proto(resource.cluster_ca_certificate):
res.cluster_ca_certificate = Primitive.to_proto(
resource.cluster_ca_certificate
)
if Primitive.to_proto(resource.client_certificate):
res.client_certificate = Primitive.to_proto(resource.client_certificate)
if Primitive.to_proto(resource.client_key):
res.client_key = Primitive.to_proto(resource.client_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMasterAuth(
username=Primitive.from_proto(resource.username),
password=Primitive.from_proto(resource.password),
client_certificate_config=ClusterMasterAuthClientCertificateConfig.from_proto(
resource.client_certificate_config
),
cluster_ca_certificate=Primitive.from_proto(
resource.cluster_ca_certificate
),
client_certificate=Primitive.from_proto(resource.client_certificate),
client_key=Primitive.from_proto(resource.client_key),
)
class ClusterMasterAuthArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMasterAuth.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterMasterAuth.from_proto(i) for i in resources]
class ClusterMasterAuthClientCertificateConfig(object):
def __init__(self, issue_client_certificate: bool = None):
self.issue_client_certificate = issue_client_certificate
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMasterAuthClientCertificateConfig()
if Primitive.to_proto(resource.issue_client_certificate):
res.issue_client_certificate = Primitive.to_proto(
resource.issue_client_certificate
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMasterAuthClientCertificateConfig(
issue_client_certificate=Primitive.from_proto(
resource.issue_client_certificate
),
)
class ClusterMasterAuthClientCertificateConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMasterAuthClientCertificateConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterMasterAuthClientCertificateConfig.from_proto(i) for i in resources
]
class ClusterAddonsConfig(object):
def __init__(
self,
http_load_balancing: dict = None,
horizontal_pod_autoscaling: dict = None,
kubernetes_dashboard: dict = None,
network_policy_config: dict = None,
cloud_run_config: dict = None,
dns_cache_config: dict = None,
config_connector_config: dict = None,
gce_persistent_disk_csi_driver_config: dict = None,
):
self.http_load_balancing = http_load_balancing
self.horizontal_pod_autoscaling = horizontal_pod_autoscaling
self.kubernetes_dashboard = kubernetes_dashboard
self.network_policy_config = network_policy_config
self.cloud_run_config = cloud_run_config
self.dns_cache_config = dns_cache_config
self.config_connector_config = config_connector_config
self.gce_persistent_disk_csi_driver_config = (
gce_persistent_disk_csi_driver_config
)
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfig()
if ClusterAddonsConfigHttpLoadBalancing.to_proto(resource.http_load_balancing):
res.http_load_balancing.CopyFrom(
ClusterAddonsConfigHttpLoadBalancing.to_proto(
resource.http_load_balancing
)
)
else:
res.ClearField("http_load_balancing")
if ClusterAddonsConfigHorizontalPodAutoscaling.to_proto(
resource.horizontal_pod_autoscaling
):
res.horizontal_pod_autoscaling.CopyFrom(
ClusterAddonsConfigHorizontalPodAutoscaling.to_proto(
resource.horizontal_pod_autoscaling
)
)
else:
res.ClearField("horizontal_pod_autoscaling")
if ClusterAddonsConfigKubernetesDashboard.to_proto(
resource.kubernetes_dashboard
):
res.kubernetes_dashboard.CopyFrom(
ClusterAddonsConfigKubernetesDashboard.to_proto(
resource.kubernetes_dashboard
)
)
else:
res.ClearField("kubernetes_dashboard")
if ClusterAddonsConfigNetworkPolicyConfig.to_proto(
resource.network_policy_config
):
res.network_policy_config.CopyFrom(
ClusterAddonsConfigNetworkPolicyConfig.to_proto(
resource.network_policy_config
)
)
else:
res.ClearField("network_policy_config")
if ClusterAddonsConfigCloudRunConfig.to_proto(resource.cloud_run_config):
res.cloud_run_config.CopyFrom(
ClusterAddonsConfigCloudRunConfig.to_proto(resource.cloud_run_config)
)
else:
res.ClearField("cloud_run_config")
if ClusterAddonsConfigDnsCacheConfig.to_proto(resource.dns_cache_config):
res.dns_cache_config.CopyFrom(
ClusterAddonsConfigDnsCacheConfig.to_proto(resource.dns_cache_config)
)
else:
res.ClearField("dns_cache_config")
if ClusterAddonsConfigConfigConnectorConfig.to_proto(
resource.config_connector_config
):
res.config_connector_config.CopyFrom(
ClusterAddonsConfigConfigConnectorConfig.to_proto(
resource.config_connector_config
)
)
else:
res.ClearField("config_connector_config")
if ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.to_proto(
resource.gce_persistent_disk_csi_driver_config
):
res.gce_persistent_disk_csi_driver_config.CopyFrom(
ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.to_proto(
resource.gce_persistent_disk_csi_driver_config
)
)
else:
res.ClearField("gce_persistent_disk_csi_driver_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfig(
http_load_balancing=ClusterAddonsConfigHttpLoadBalancing.from_proto(
resource.http_load_balancing
),
horizontal_pod_autoscaling=ClusterAddonsConfigHorizontalPodAutoscaling.from_proto(
resource.horizontal_pod_autoscaling
),
kubernetes_dashboard=ClusterAddonsConfigKubernetesDashboard.from_proto(
resource.kubernetes_dashboard
),
network_policy_config=ClusterAddonsConfigNetworkPolicyConfig.from_proto(
resource.network_policy_config
),
cloud_run_config=ClusterAddonsConfigCloudRunConfig.from_proto(
resource.cloud_run_config
),
dns_cache_config=ClusterAddonsConfigDnsCacheConfig.from_proto(
resource.dns_cache_config
),
config_connector_config=ClusterAddonsConfigConfigConnectorConfig.from_proto(
resource.config_connector_config
),
gce_persistent_disk_csi_driver_config=ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.from_proto(
resource.gce_persistent_disk_csi_driver_config
),
)
class ClusterAddonsConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfig.from_proto(i) for i in resources]
class ClusterAddonsConfigHttpLoadBalancing(object):
def __init__(self, disabled: bool = None):
self.disabled = disabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigHttpLoadBalancing()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigHttpLoadBalancing(
disabled=Primitive.from_proto(resource.disabled),
)
class ClusterAddonsConfigHttpLoadBalancingArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigHttpLoadBalancing.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfigHttpLoadBalancing.from_proto(i) for i in resources]
class ClusterAddonsConfigHorizontalPodAutoscaling(object):
def __init__(self, disabled: bool = None):
self.disabled = disabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigHorizontalPodAutoscaling()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigHorizontalPodAutoscaling(
disabled=Primitive.from_proto(resource.disabled),
)
class ClusterAddonsConfigHorizontalPodAutoscalingArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAddonsConfigHorizontalPodAutoscaling.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAddonsConfigHorizontalPodAutoscaling.from_proto(i) for i in resources
]
class ClusterAddonsConfigKubernetesDashboard(object):
def __init__(self, disabled: bool = None):
self.disabled = disabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigKubernetesDashboard()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigKubernetesDashboard(
disabled=Primitive.from_proto(resource.disabled),
)
class ClusterAddonsConfigKubernetesDashboardArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigKubernetesDashboard.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfigKubernetesDashboard.from_proto(i) for i in resources]
class ClusterAddonsConfigNetworkPolicyConfig(object):
def __init__(self, disabled: bool = None):
self.disabled = disabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigNetworkPolicyConfig()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigNetworkPolicyConfig(
disabled=Primitive.from_proto(resource.disabled),
)
class ClusterAddonsConfigNetworkPolicyConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigNetworkPolicyConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfigNetworkPolicyConfig.from_proto(i) for i in resources]
class ClusterAddonsConfigCloudRunConfig(object):
def __init__(self, disabled: bool = None, load_balancer_type: str = None):
self.disabled = disabled
self.load_balancer_type = load_balancer_type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigCloudRunConfig()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
if ClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum.to_proto(
resource.load_balancer_type
):
res.load_balancer_type = ClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum.to_proto(
resource.load_balancer_type
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigCloudRunConfig(
disabled=Primitive.from_proto(resource.disabled),
load_balancer_type=ClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum.from_proto(
resource.load_balancer_type
),
)
class ClusterAddonsConfigCloudRunConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigCloudRunConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfigCloudRunConfig.from_proto(i) for i in resources]
class ClusterAddonsConfigDnsCacheConfig(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigDnsCacheConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigDnsCacheConfig(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterAddonsConfigDnsCacheConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigDnsCacheConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAddonsConfigDnsCacheConfig.from_proto(i) for i in resources]
class ClusterAddonsConfigConfigConnectorConfig(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigConfigConnectorConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigConfigConnectorConfig(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterAddonsConfigConfigConnectorConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAddonsConfigConfigConnectorConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterAddonsConfigConfigConnectorConfig.from_proto(i) for i in resources
]
class ClusterAddonsConfigGcePersistentDiskCsiDriverConfig(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAddonsConfigGcePersistentDiskCsiDriverConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAddonsConfigGcePersistentDiskCsiDriverConfig(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterAddonsConfigGcePersistentDiskCsiDriverConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.from_proto(i)
for i in resources
]
class ClusterNodePools(object):
def __init__(
self,
name: str = None,
config: dict = None,
initial_node_count: int = None,
locations: list = None,
self_link: str = None,
version: str = None,
instance_group_urls: list = None,
status: str = None,
status_message: str = None,
autoscaling: dict = None,
management: dict = None,
max_pods_constraint: dict = None,
conditions: list = None,
pod_ipv4_cidr_size: int = None,
upgrade_settings: dict = None,
):
self.name = name
self.config = config
self.initial_node_count = initial_node_count
self.locations = locations
self.self_link = self_link
self.version = version
self.instance_group_urls = instance_group_urls
self.status = status
self.status_message = status_message
self.autoscaling = autoscaling
self.management = management
self.max_pods_constraint = max_pods_constraint
self.conditions = conditions
self.pod_ipv4_cidr_size = pod_ipv4_cidr_size
self.upgrade_settings = upgrade_settings
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePools()
if Primitive.to_proto(resource.name):
res.name = Primitive.to_proto(resource.name)
if ClusterNodePoolsConfig.to_proto(resource.config):
res.config.CopyFrom(ClusterNodePoolsConfig.to_proto(resource.config))
else:
res.ClearField("config")
if Primitive.to_proto(resource.initial_node_count):
res.initial_node_count = Primitive.to_proto(resource.initial_node_count)
if Primitive.to_proto(resource.locations):
res.locations.extend(Primitive.to_proto(resource.locations))
if Primitive.to_proto(resource.self_link):
res.self_link = Primitive.to_proto(resource.self_link)
if Primitive.to_proto(resource.version):
res.version = Primitive.to_proto(resource.version)
if Primitive.to_proto(resource.instance_group_urls):
res.instance_group_urls.extend(
Primitive.to_proto(resource.instance_group_urls)
)
if ClusterNodePoolsStatusEnum.to_proto(resource.status):
res.status = ClusterNodePoolsStatusEnum.to_proto(resource.status)
if Primitive.to_proto(resource.status_message):
res.status_message = Primitive.to_proto(resource.status_message)
if ClusterNodePoolsAutoscaling.to_proto(resource.autoscaling):
res.autoscaling.CopyFrom(
ClusterNodePoolsAutoscaling.to_proto(resource.autoscaling)
)
else:
res.ClearField("autoscaling")
if ClusterNodePoolsManagement.to_proto(resource.management):
res.management.CopyFrom(
ClusterNodePoolsManagement.to_proto(resource.management)
)
else:
res.ClearField("management")
if ClusterNodePoolsMaxPodsConstraint.to_proto(resource.max_pods_constraint):
res.max_pods_constraint.CopyFrom(
ClusterNodePoolsMaxPodsConstraint.to_proto(resource.max_pods_constraint)
)
else:
res.ClearField("max_pods_constraint")
if ClusterNodePoolsConditionsArray.to_proto(resource.conditions):
res.conditions.extend(
ClusterNodePoolsConditionsArray.to_proto(resource.conditions)
)
if Primitive.to_proto(resource.pod_ipv4_cidr_size):
res.pod_ipv4_cidr_size = Primitive.to_proto(resource.pod_ipv4_cidr_size)
if ClusterNodePoolsUpgradeSettings.to_proto(resource.upgrade_settings):
res.upgrade_settings.CopyFrom(
ClusterNodePoolsUpgradeSettings.to_proto(resource.upgrade_settings)
)
else:
res.ClearField("upgrade_settings")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePools(
name=Primitive.from_proto(resource.name),
config=ClusterNodePoolsConfig.from_proto(resource.config),
initial_node_count=Primitive.from_proto(resource.initial_node_count),
locations=Primitive.from_proto(resource.locations),
self_link=Primitive.from_proto(resource.self_link),
version=Primitive.from_proto(resource.version),
instance_group_urls=Primitive.from_proto(resource.instance_group_urls),
status=ClusterNodePoolsStatusEnum.from_proto(resource.status),
status_message=Primitive.from_proto(resource.status_message),
autoscaling=ClusterNodePoolsAutoscaling.from_proto(resource.autoscaling),
management=ClusterNodePoolsManagement.from_proto(resource.management),
max_pods_constraint=ClusterNodePoolsMaxPodsConstraint.from_proto(
resource.max_pods_constraint
),
conditions=ClusterNodePoolsConditionsArray.from_proto(resource.conditions),
pod_ipv4_cidr_size=Primitive.from_proto(resource.pod_ipv4_cidr_size),
upgrade_settings=ClusterNodePoolsUpgradeSettings.from_proto(
resource.upgrade_settings
),
)
class ClusterNodePoolsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePools.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePools.from_proto(i) for i in resources]
class ClusterNodePoolsConfig(object):
def __init__(
self,
machine_type: str = None,
disk_size_gb: int = None,
oauth_scopes: list = None,
service_account: str = None,
metadata: dict = None,
image_type: str = None,
labels: dict = None,
local_ssd_count: int = None,
tags: list = None,
preemptible: bool = None,
accelerators: list = None,
disk_type: str = None,
min_cpu_platform: str = None,
workload_metadata_config: dict = None,
taints: list = None,
sandbox_config: dict = None,
node_group: str = None,
reservation_affinity: dict = None,
shielded_instance_config: dict = None,
linux_node_config: dict = None,
kubelet_config: dict = None,
boot_disk_kms_key: str = None,
):
self.machine_type = machine_type
self.disk_size_gb = disk_size_gb
self.oauth_scopes = oauth_scopes
self.service_account = service_account
self.metadata = metadata
self.image_type = image_type
self.labels = labels
self.local_ssd_count = local_ssd_count
self.tags = tags
self.preemptible = preemptible
self.accelerators = accelerators
self.disk_type = disk_type
self.min_cpu_platform = min_cpu_platform
self.workload_metadata_config = workload_metadata_config
self.taints = taints
self.sandbox_config = sandbox_config
self.node_group = node_group
self.reservation_affinity = reservation_affinity
self.shielded_instance_config = shielded_instance_config
self.linux_node_config = linux_node_config
self.kubelet_config = kubelet_config
self.boot_disk_kms_key = boot_disk_kms_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfig()
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if Primitive.to_proto(resource.disk_size_gb):
res.disk_size_gb = Primitive.to_proto(resource.disk_size_gb)
if Primitive.to_proto(resource.oauth_scopes):
res.oauth_scopes.extend(Primitive.to_proto(resource.oauth_scopes))
if Primitive.to_proto(resource.service_account):
res.service_account = Primitive.to_proto(resource.service_account)
if Primitive.to_proto(resource.metadata):
res.metadata = Primitive.to_proto(resource.metadata)
if Primitive.to_proto(resource.image_type):
res.image_type = Primitive.to_proto(resource.image_type)
if Primitive.to_proto(resource.labels):
res.labels = Primitive.to_proto(resource.labels)
if Primitive.to_proto(resource.local_ssd_count):
res.local_ssd_count = Primitive.to_proto(resource.local_ssd_count)
if Primitive.to_proto(resource.tags):
res.tags.extend(Primitive.to_proto(resource.tags))
if Primitive.to_proto(resource.preemptible):
res.preemptible = Primitive.to_proto(resource.preemptible)
if ClusterNodePoolsConfigAcceleratorsArray.to_proto(resource.accelerators):
res.accelerators.extend(
ClusterNodePoolsConfigAcceleratorsArray.to_proto(resource.accelerators)
)
if Primitive.to_proto(resource.disk_type):
res.disk_type = Primitive.to_proto(resource.disk_type)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if ClusterNodePoolsConfigWorkloadMetadataConfig.to_proto(
resource.workload_metadata_config
):
res.workload_metadata_config.CopyFrom(
ClusterNodePoolsConfigWorkloadMetadataConfig.to_proto(
resource.workload_metadata_config
)
)
else:
res.ClearField("workload_metadata_config")
if ClusterNodePoolsConfigTaintsArray.to_proto(resource.taints):
res.taints.extend(
ClusterNodePoolsConfigTaintsArray.to_proto(resource.taints)
)
if ClusterNodePoolsConfigSandboxConfig.to_proto(resource.sandbox_config):
res.sandbox_config.CopyFrom(
ClusterNodePoolsConfigSandboxConfig.to_proto(resource.sandbox_config)
)
else:
res.ClearField("sandbox_config")
if Primitive.to_proto(resource.node_group):
res.node_group = Primitive.to_proto(resource.node_group)
if ClusterNodePoolsConfigReservationAffinity.to_proto(
resource.reservation_affinity
):
res.reservation_affinity.CopyFrom(
ClusterNodePoolsConfigReservationAffinity.to_proto(
resource.reservation_affinity
)
)
else:
res.ClearField("reservation_affinity")
if ClusterNodePoolsConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
):
res.shielded_instance_config.CopyFrom(
ClusterNodePoolsConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
)
)
else:
res.ClearField("shielded_instance_config")
if ClusterNodePoolsConfigLinuxNodeConfig.to_proto(resource.linux_node_config):
res.linux_node_config.CopyFrom(
ClusterNodePoolsConfigLinuxNodeConfig.to_proto(
resource.linux_node_config
)
)
else:
res.ClearField("linux_node_config")
if ClusterNodePoolsConfigKubeletConfig.to_proto(resource.kubelet_config):
res.kubelet_config.CopyFrom(
ClusterNodePoolsConfigKubeletConfig.to_proto(resource.kubelet_config)
)
else:
res.ClearField("kubelet_config")
if Primitive.to_proto(resource.boot_disk_kms_key):
res.boot_disk_kms_key = Primitive.to_proto(resource.boot_disk_kms_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfig(
machine_type=Primitive.from_proto(resource.machine_type),
disk_size_gb=Primitive.from_proto(resource.disk_size_gb),
oauth_scopes=Primitive.from_proto(resource.oauth_scopes),
service_account=Primitive.from_proto(resource.service_account),
metadata=Primitive.from_proto(resource.metadata),
image_type=Primitive.from_proto(resource.image_type),
labels=Primitive.from_proto(resource.labels),
local_ssd_count=Primitive.from_proto(resource.local_ssd_count),
tags=Primitive.from_proto(resource.tags),
preemptible=Primitive.from_proto(resource.preemptible),
accelerators=ClusterNodePoolsConfigAcceleratorsArray.from_proto(
resource.accelerators
),
disk_type=Primitive.from_proto(resource.disk_type),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
workload_metadata_config=ClusterNodePoolsConfigWorkloadMetadataConfig.from_proto(
resource.workload_metadata_config
),
taints=ClusterNodePoolsConfigTaintsArray.from_proto(resource.taints),
sandbox_config=ClusterNodePoolsConfigSandboxConfig.from_proto(
resource.sandbox_config
),
node_group=Primitive.from_proto(resource.node_group),
reservation_affinity=ClusterNodePoolsConfigReservationAffinity.from_proto(
resource.reservation_affinity
),
shielded_instance_config=ClusterNodePoolsConfigShieldedInstanceConfig.from_proto(
resource.shielded_instance_config
),
linux_node_config=ClusterNodePoolsConfigLinuxNodeConfig.from_proto(
resource.linux_node_config
),
kubelet_config=ClusterNodePoolsConfigKubeletConfig.from_proto(
resource.kubelet_config
),
boot_disk_kms_key=Primitive.from_proto(resource.boot_disk_kms_key),
)
class ClusterNodePoolsConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfig.from_proto(i) for i in resources]
class ClusterNodePoolsConfigAccelerators(object):
def __init__(self, accelerator_count: int = None, accelerator_type: str = None):
self.accelerator_count = accelerator_count
self.accelerator_type = accelerator_type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigAccelerators()
if Primitive.to_proto(resource.accelerator_count):
res.accelerator_count = Primitive.to_proto(resource.accelerator_count)
if Primitive.to_proto(resource.accelerator_type):
res.accelerator_type = Primitive.to_proto(resource.accelerator_type)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigAccelerators(
accelerator_count=Primitive.from_proto(resource.accelerator_count),
accelerator_type=Primitive.from_proto(resource.accelerator_type),
)
class ClusterNodePoolsConfigAcceleratorsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfigAccelerators.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfigAccelerators.from_proto(i) for i in resources]
class ClusterNodePoolsConfigWorkloadMetadataConfig(object):
def __init__(self, mode: str = None):
self.mode = mode
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigWorkloadMetadataConfig()
if ClusterNodePoolsConfigWorkloadMetadataConfigModeEnum.to_proto(resource.mode):
res.mode = ClusterNodePoolsConfigWorkloadMetadataConfigModeEnum.to_proto(
resource.mode
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigWorkloadMetadataConfig(
mode=ClusterNodePoolsConfigWorkloadMetadataConfigModeEnum.from_proto(
resource.mode
),
)
class ClusterNodePoolsConfigWorkloadMetadataConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterNodePoolsConfigWorkloadMetadataConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterNodePoolsConfigWorkloadMetadataConfig.from_proto(i)
for i in resources
]
class ClusterNodePoolsConfigTaints(object):
def __init__(self, key: str = None, value: str = None, effect: str = None):
self.key = key
self.value = value
self.effect = effect
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigTaints()
if Primitive.to_proto(resource.key):
res.key = Primitive.to_proto(resource.key)
if Primitive.to_proto(resource.value):
res.value = Primitive.to_proto(resource.value)
if ClusterNodePoolsConfigTaintsEffectEnum.to_proto(resource.effect):
res.effect = ClusterNodePoolsConfigTaintsEffectEnum.to_proto(
resource.effect
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigTaints(
key=Primitive.from_proto(resource.key),
value=Primitive.from_proto(resource.value),
effect=ClusterNodePoolsConfigTaintsEffectEnum.from_proto(resource.effect),
)
class ClusterNodePoolsConfigTaintsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfigTaints.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfigTaints.from_proto(i) for i in resources]
class ClusterNodePoolsConfigSandboxConfig(object):
def __init__(self, type: str = None):
self.type = type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigSandboxConfig()
if ClusterNodePoolsConfigSandboxConfigTypeEnum.to_proto(resource.type):
res.type = ClusterNodePoolsConfigSandboxConfigTypeEnum.to_proto(
resource.type
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigSandboxConfig(
type=ClusterNodePoolsConfigSandboxConfigTypeEnum.from_proto(resource.type),
)
class ClusterNodePoolsConfigSandboxConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfigSandboxConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfigSandboxConfig.from_proto(i) for i in resources]
class ClusterNodePoolsConfigReservationAffinity(object):
def __init__(
self, consume_reservation_type: str = None, key: str = None, values: list = None
):
self.consume_reservation_type = consume_reservation_type
self.key = key
self.values = values
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigReservationAffinity()
if ClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum.to_proto(
resource.consume_reservation_type
):
res.consume_reservation_type = ClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum.to_proto(
resource.consume_reservation_type
)
if Primitive.to_proto(resource.key):
res.key = Primitive.to_proto(resource.key)
if Primitive.to_proto(resource.values):
res.values.extend(Primitive.to_proto(resource.values))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigReservationAffinity(
consume_reservation_type=ClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum.from_proto(
resource.consume_reservation_type
),
key=Primitive.from_proto(resource.key),
values=Primitive.from_proto(resource.values),
)
class ClusterNodePoolsConfigReservationAffinityArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterNodePoolsConfigReservationAffinity.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterNodePoolsConfigReservationAffinity.from_proto(i) for i in resources
]
class ClusterNodePoolsConfigShieldedInstanceConfig(object):
def __init__(
self, enable_secure_boot: bool = None, enable_integrity_monitoring: bool = None
):
self.enable_secure_boot = enable_secure_boot
self.enable_integrity_monitoring = enable_integrity_monitoring
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigShieldedInstanceConfig()
if Primitive.to_proto(resource.enable_secure_boot):
res.enable_secure_boot = Primitive.to_proto(resource.enable_secure_boot)
if Primitive.to_proto(resource.enable_integrity_monitoring):
res.enable_integrity_monitoring = Primitive.to_proto(
resource.enable_integrity_monitoring
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigShieldedInstanceConfig(
enable_secure_boot=Primitive.from_proto(resource.enable_secure_boot),
enable_integrity_monitoring=Primitive.from_proto(
resource.enable_integrity_monitoring
),
)
class ClusterNodePoolsConfigShieldedInstanceConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterNodePoolsConfigShieldedInstanceConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterNodePoolsConfigShieldedInstanceConfig.from_proto(i)
for i in resources
]
class ClusterNodePoolsConfigLinuxNodeConfig(object):
def __init__(self, sysctls: dict = None):
self.sysctls = sysctls
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigLinuxNodeConfig()
if Primitive.to_proto(resource.sysctls):
res.sysctls = Primitive.to_proto(resource.sysctls)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigLinuxNodeConfig(
sysctls=Primitive.from_proto(resource.sysctls),
)
class ClusterNodePoolsConfigLinuxNodeConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfigLinuxNodeConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfigLinuxNodeConfig.from_proto(i) for i in resources]
class ClusterNodePoolsConfigKubeletConfig(object):
def __init__(
self,
cpu_manager_policy: str = None,
cpu_cfs_quota: bool = None,
cpu_cfs_quota_period: str = None,
):
self.cpu_manager_policy = cpu_manager_policy
self.cpu_cfs_quota = cpu_cfs_quota
self.cpu_cfs_quota_period = cpu_cfs_quota_period
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConfigKubeletConfig()
if Primitive.to_proto(resource.cpu_manager_policy):
res.cpu_manager_policy = Primitive.to_proto(resource.cpu_manager_policy)
if Primitive.to_proto(resource.cpu_cfs_quota):
res.cpu_cfs_quota = Primitive.to_proto(resource.cpu_cfs_quota)
if Primitive.to_proto(resource.cpu_cfs_quota_period):
res.cpu_cfs_quota_period = Primitive.to_proto(resource.cpu_cfs_quota_period)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConfigKubeletConfig(
cpu_manager_policy=Primitive.from_proto(resource.cpu_manager_policy),
cpu_cfs_quota=Primitive.from_proto(resource.cpu_cfs_quota),
cpu_cfs_quota_period=Primitive.from_proto(resource.cpu_cfs_quota_period),
)
class ClusterNodePoolsConfigKubeletConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConfigKubeletConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConfigKubeletConfig.from_proto(i) for i in resources]
class ClusterNodePoolsAutoscaling(object):
def __init__(
self,
enabled: bool = None,
min_node_count: int = None,
max_node_count: int = None,
autoprovisioned: bool = None,
):
self.enabled = enabled
self.min_node_count = min_node_count
self.max_node_count = max_node_count
self.autoprovisioned = autoprovisioned
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsAutoscaling()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
if Primitive.to_proto(resource.min_node_count):
res.min_node_count = Primitive.to_proto(resource.min_node_count)
if Primitive.to_proto(resource.max_node_count):
res.max_node_count = Primitive.to_proto(resource.max_node_count)
if Primitive.to_proto(resource.autoprovisioned):
res.autoprovisioned = Primitive.to_proto(resource.autoprovisioned)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsAutoscaling(
enabled=Primitive.from_proto(resource.enabled),
min_node_count=Primitive.from_proto(resource.min_node_count),
max_node_count=Primitive.from_proto(resource.max_node_count),
autoprovisioned=Primitive.from_proto(resource.autoprovisioned),
)
class ClusterNodePoolsAutoscalingArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsAutoscaling.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsAutoscaling.from_proto(i) for i in resources]
class ClusterNodePoolsManagement(object):
def __init__(
self,
auto_upgrade: bool = None,
auto_repair: bool = None,
upgrade_options: dict = None,
):
self.auto_upgrade = auto_upgrade
self.auto_repair = auto_repair
self.upgrade_options = upgrade_options
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsManagement()
if Primitive.to_proto(resource.auto_upgrade):
res.auto_upgrade = Primitive.to_proto(resource.auto_upgrade)
if Primitive.to_proto(resource.auto_repair):
res.auto_repair = Primitive.to_proto(resource.auto_repair)
if ClusterNodePoolsManagementUpgradeOptions.to_proto(resource.upgrade_options):
res.upgrade_options.CopyFrom(
ClusterNodePoolsManagementUpgradeOptions.to_proto(
resource.upgrade_options
)
)
else:
res.ClearField("upgrade_options")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsManagement(
auto_upgrade=Primitive.from_proto(resource.auto_upgrade),
auto_repair=Primitive.from_proto(resource.auto_repair),
upgrade_options=ClusterNodePoolsManagementUpgradeOptions.from_proto(
resource.upgrade_options
),
)
class ClusterNodePoolsManagementArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsManagement.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsManagement.from_proto(i) for i in resources]
class ClusterNodePoolsManagementUpgradeOptions(object):
def __init__(self, auto_upgrade_start_time: str = None, description: str = None):
self.auto_upgrade_start_time = auto_upgrade_start_time
self.description = description
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsManagementUpgradeOptions()
if Primitive.to_proto(resource.auto_upgrade_start_time):
res.auto_upgrade_start_time = Primitive.to_proto(
resource.auto_upgrade_start_time
)
if Primitive.to_proto(resource.description):
res.description = Primitive.to_proto(resource.description)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsManagementUpgradeOptions(
auto_upgrade_start_time=Primitive.from_proto(
resource.auto_upgrade_start_time
),
description=Primitive.from_proto(resource.description),
)
class ClusterNodePoolsManagementUpgradeOptionsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsManagementUpgradeOptions.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterNodePoolsManagementUpgradeOptions.from_proto(i) for i in resources
]
class ClusterNodePoolsMaxPodsConstraint(object):
def __init__(self, max_pods_per_node: int = None):
self.max_pods_per_node = max_pods_per_node
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsMaxPodsConstraint()
if Primitive.to_proto(resource.max_pods_per_node):
res.max_pods_per_node = Primitive.to_proto(resource.max_pods_per_node)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsMaxPodsConstraint(
max_pods_per_node=Primitive.from_proto(resource.max_pods_per_node),
)
class ClusterNodePoolsMaxPodsConstraintArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsMaxPodsConstraint.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsMaxPodsConstraint.from_proto(i) for i in resources]
class ClusterNodePoolsConditions(object):
def __init__(
self, code: str = None, message: str = None, canonical_code: str = None
):
self.code = code
self.message = message
self.canonical_code = canonical_code
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsConditions()
if ClusterNodePoolsConditionsCodeEnum.to_proto(resource.code):
res.code = ClusterNodePoolsConditionsCodeEnum.to_proto(resource.code)
if Primitive.to_proto(resource.message):
res.message = Primitive.to_proto(resource.message)
if ClusterNodePoolsConditionsCanonicalCodeEnum.to_proto(
resource.canonical_code
):
res.canonical_code = ClusterNodePoolsConditionsCanonicalCodeEnum.to_proto(
resource.canonical_code
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsConditions(
code=ClusterNodePoolsConditionsCodeEnum.from_proto(resource.code),
message=Primitive.from_proto(resource.message),
canonical_code=ClusterNodePoolsConditionsCanonicalCodeEnum.from_proto(
resource.canonical_code
),
)
class ClusterNodePoolsConditionsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsConditions.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsConditions.from_proto(i) for i in resources]
class ClusterNodePoolsUpgradeSettings(object):
def __init__(self, max_surge: int = None, max_unavailable: int = None):
self.max_surge = max_surge
self.max_unavailable = max_unavailable
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodePoolsUpgradeSettings()
if Primitive.to_proto(resource.max_surge):
res.max_surge = Primitive.to_proto(resource.max_surge)
if Primitive.to_proto(resource.max_unavailable):
res.max_unavailable = Primitive.to_proto(resource.max_unavailable)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodePoolsUpgradeSettings(
max_surge=Primitive.from_proto(resource.max_surge),
max_unavailable=Primitive.from_proto(resource.max_unavailable),
)
class ClusterNodePoolsUpgradeSettingsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodePoolsUpgradeSettings.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodePoolsUpgradeSettings.from_proto(i) for i in resources]
class ClusterLegacyAbac(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterLegacyAbac()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterLegacyAbac(enabled=Primitive.from_proto(resource.enabled),)
class ClusterLegacyAbacArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterLegacyAbac.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterLegacyAbac.from_proto(i) for i in resources]
class ClusterNetworkPolicy(object):
def __init__(self, provider: str = None, enabled: bool = None):
self.provider = provider
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNetworkPolicy()
if ClusterNetworkPolicyProviderEnum.to_proto(resource.provider):
res.provider = ClusterNetworkPolicyProviderEnum.to_proto(resource.provider)
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNetworkPolicy(
provider=ClusterNetworkPolicyProviderEnum.from_proto(resource.provider),
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterNetworkPolicyArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNetworkPolicy.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNetworkPolicy.from_proto(i) for i in resources]
class ClusterIPAllocationPolicy(object):
def __init__(
self,
use_ip_aliases: bool = None,
create_subnetwork: bool = None,
subnetwork_name: str = None,
cluster_secondary_range_name: str = None,
services_secondary_range_name: str = None,
cluster_ipv4_cidr_block: str = None,
node_ipv4_cidr_block: str = None,
services_ipv4_cidr_block: str = None,
tpu_ipv4_cidr_block: str = None,
cluster_ipv4_cidr: str = None,
node_ipv4_cidr: str = None,
services_ipv4_cidr: str = None,
use_routes: bool = None,
):
self.use_ip_aliases = use_ip_aliases
self.create_subnetwork = create_subnetwork
self.subnetwork_name = subnetwork_name
self.cluster_secondary_range_name = cluster_secondary_range_name
self.services_secondary_range_name = services_secondary_range_name
self.cluster_ipv4_cidr_block = cluster_ipv4_cidr_block
self.node_ipv4_cidr_block = node_ipv4_cidr_block
self.services_ipv4_cidr_block = services_ipv4_cidr_block
self.tpu_ipv4_cidr_block = tpu_ipv4_cidr_block
self.cluster_ipv4_cidr = cluster_ipv4_cidr
self.node_ipv4_cidr = node_ipv4_cidr
self.services_ipv4_cidr = services_ipv4_cidr
self.use_routes = use_routes
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterIPAllocationPolicy()
if Primitive.to_proto(resource.use_ip_aliases):
res.use_ip_aliases = Primitive.to_proto(resource.use_ip_aliases)
if Primitive.to_proto(resource.create_subnetwork):
res.create_subnetwork = Primitive.to_proto(resource.create_subnetwork)
if Primitive.to_proto(resource.subnetwork_name):
res.subnetwork_name = Primitive.to_proto(resource.subnetwork_name)
if Primitive.to_proto(resource.cluster_secondary_range_name):
res.cluster_secondary_range_name = Primitive.to_proto(
resource.cluster_secondary_range_name
)
if Primitive.to_proto(resource.services_secondary_range_name):
res.services_secondary_range_name = Primitive.to_proto(
resource.services_secondary_range_name
)
if Primitive.to_proto(resource.cluster_ipv4_cidr_block):
res.cluster_ipv4_cidr_block = Primitive.to_proto(
resource.cluster_ipv4_cidr_block
)
if Primitive.to_proto(resource.node_ipv4_cidr_block):
res.node_ipv4_cidr_block = Primitive.to_proto(resource.node_ipv4_cidr_block)
if Primitive.to_proto(resource.services_ipv4_cidr_block):
res.services_ipv4_cidr_block = Primitive.to_proto(
resource.services_ipv4_cidr_block
)
if Primitive.to_proto(resource.tpu_ipv4_cidr_block):
res.tpu_ipv4_cidr_block = Primitive.to_proto(resource.tpu_ipv4_cidr_block)
if Primitive.to_proto(resource.cluster_ipv4_cidr):
res.cluster_ipv4_cidr = Primitive.to_proto(resource.cluster_ipv4_cidr)
if Primitive.to_proto(resource.node_ipv4_cidr):
res.node_ipv4_cidr = Primitive.to_proto(resource.node_ipv4_cidr)
if Primitive.to_proto(resource.services_ipv4_cidr):
res.services_ipv4_cidr = Primitive.to_proto(resource.services_ipv4_cidr)
if Primitive.to_proto(resource.use_routes):
res.use_routes = Primitive.to_proto(resource.use_routes)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterIPAllocationPolicy(
use_ip_aliases=Primitive.from_proto(resource.use_ip_aliases),
create_subnetwork=Primitive.from_proto(resource.create_subnetwork),
subnetwork_name=Primitive.from_proto(resource.subnetwork_name),
cluster_secondary_range_name=Primitive.from_proto(
resource.cluster_secondary_range_name
),
services_secondary_range_name=Primitive.from_proto(
resource.services_secondary_range_name
),
cluster_ipv4_cidr_block=Primitive.from_proto(
resource.cluster_ipv4_cidr_block
),
node_ipv4_cidr_block=Primitive.from_proto(resource.node_ipv4_cidr_block),
services_ipv4_cidr_block=Primitive.from_proto(
resource.services_ipv4_cidr_block
),
tpu_ipv4_cidr_block=Primitive.from_proto(resource.tpu_ipv4_cidr_block),
cluster_ipv4_cidr=Primitive.from_proto(resource.cluster_ipv4_cidr),
node_ipv4_cidr=Primitive.from_proto(resource.node_ipv4_cidr),
services_ipv4_cidr=Primitive.from_proto(resource.services_ipv4_cidr),
use_routes=Primitive.from_proto(resource.use_routes),
)
class ClusterIPAllocationPolicyArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterIPAllocationPolicy.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterIPAllocationPolicy.from_proto(i) for i in resources]
class ClusterMasterAuthorizedNetworksConfig(object):
def __init__(self, enabled: bool = None, cidr_blocks: list = None):
self.enabled = enabled
self.cidr_blocks = cidr_blocks
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMasterAuthorizedNetworksConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
if ClusterMasterAuthorizedNetworksConfigCidrBlocksArray.to_proto(
resource.cidr_blocks
):
res.cidr_blocks.extend(
ClusterMasterAuthorizedNetworksConfigCidrBlocksArray.to_proto(
resource.cidr_blocks
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMasterAuthorizedNetworksConfig(
enabled=Primitive.from_proto(resource.enabled),
cidr_blocks=ClusterMasterAuthorizedNetworksConfigCidrBlocksArray.from_proto(
resource.cidr_blocks
),
)
class ClusterMasterAuthorizedNetworksConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMasterAuthorizedNetworksConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterMasterAuthorizedNetworksConfig.from_proto(i) for i in resources]
class ClusterMasterAuthorizedNetworksConfigCidrBlocks(object):
def __init__(self, display_name: str = None, cidr_block: str = None):
self.display_name = display_name
self.cidr_block = cidr_block
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMasterAuthorizedNetworksConfigCidrBlocks()
if Primitive.to_proto(resource.display_name):
res.display_name = Primitive.to_proto(resource.display_name)
if Primitive.to_proto(resource.cidr_block):
res.cidr_block = Primitive.to_proto(resource.cidr_block)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMasterAuthorizedNetworksConfigCidrBlocks(
display_name=Primitive.from_proto(resource.display_name),
cidr_block=Primitive.from_proto(resource.cidr_block),
)
class ClusterMasterAuthorizedNetworksConfigCidrBlocksArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterMasterAuthorizedNetworksConfigCidrBlocks.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterMasterAuthorizedNetworksConfigCidrBlocks.from_proto(i)
for i in resources
]
class ClusterBinaryAuthorization(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterBinaryAuthorization()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterBinaryAuthorization(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterBinaryAuthorizationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterBinaryAuthorization.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterBinaryAuthorization.from_proto(i) for i in resources]
class ClusterAutoscaling(object):
def __init__(
self,
enable_node_autoprovisioning: bool = None,
resource_limits: list = None,
autoprovisioning_node_pool_defaults: dict = None,
autoprovisioning_locations: list = None,
):
self.enable_node_autoprovisioning = enable_node_autoprovisioning
self.resource_limits = resource_limits
self.autoprovisioning_node_pool_defaults = autoprovisioning_node_pool_defaults
self.autoprovisioning_locations = autoprovisioning_locations
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAutoscaling()
if Primitive.to_proto(resource.enable_node_autoprovisioning):
res.enable_node_autoprovisioning = Primitive.to_proto(
resource.enable_node_autoprovisioning
)
if ClusterAutoscalingResourceLimitsArray.to_proto(resource.resource_limits):
res.resource_limits.extend(
ClusterAutoscalingResourceLimitsArray.to_proto(resource.resource_limits)
)
if ClusterAutoscalingAutoprovisioningNodePoolDefaults.to_proto(
resource.autoprovisioning_node_pool_defaults
):
res.autoprovisioning_node_pool_defaults.CopyFrom(
ClusterAutoscalingAutoprovisioningNodePoolDefaults.to_proto(
resource.autoprovisioning_node_pool_defaults
)
)
else:
res.ClearField("autoprovisioning_node_pool_defaults")
if Primitive.to_proto(resource.autoprovisioning_locations):
res.autoprovisioning_locations.extend(
Primitive.to_proto(resource.autoprovisioning_locations)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscaling(
enable_node_autoprovisioning=Primitive.from_proto(
resource.enable_node_autoprovisioning
),
resource_limits=ClusterAutoscalingResourceLimitsArray.from_proto(
resource.resource_limits
),
autoprovisioning_node_pool_defaults=ClusterAutoscalingAutoprovisioningNodePoolDefaults.from_proto(
resource.autoprovisioning_node_pool_defaults
),
autoprovisioning_locations=Primitive.from_proto(
resource.autoprovisioning_locations
),
)
class ClusterAutoscalingArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAutoscaling.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAutoscaling.from_proto(i) for i in resources]
class ClusterAutoscalingResourceLimits(object):
def __init__(
self, resource_type: str = None, minimum: int = None, maximum: int = None
):
self.resource_type = resource_type
self.minimum = minimum
self.maximum = maximum
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAutoscalingResourceLimits()
if Primitive.to_proto(resource.resource_type):
res.resource_type = Primitive.to_proto(resource.resource_type)
if Primitive.to_proto(resource.minimum):
res.minimum = Primitive.to_proto(resource.minimum)
if Primitive.to_proto(resource.maximum):
res.maximum = Primitive.to_proto(resource.maximum)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingResourceLimits(
resource_type=Primitive.from_proto(resource.resource_type),
minimum=Primitive.from_proto(resource.minimum),
maximum=Primitive.from_proto(resource.maximum),
)
class ClusterAutoscalingResourceLimitsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAutoscalingResourceLimits.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAutoscalingResourceLimits.from_proto(i) for i in resources]
class ClusterAutoscalingAutoprovisioningNodePoolDefaults(object):
def __init__(
self,
oauth_scopes: list = None,
service_account: str = None,
upgrade_settings: dict = None,
management: dict = None,
min_cpu_platform: str = None,
disk_size_gb: int = None,
disk_type: str = None,
shielded_instance_config: dict = None,
boot_disk_kms_key: str = None,
):
self.oauth_scopes = oauth_scopes
self.service_account = service_account
self.upgrade_settings = upgrade_settings
self.management = management
self.min_cpu_platform = min_cpu_platform
self.disk_size_gb = disk_size_gb
self.disk_type = disk_type
self.shielded_instance_config = shielded_instance_config
self.boot_disk_kms_key = boot_disk_kms_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAutoscalingAutoprovisioningNodePoolDefaults()
if Primitive.to_proto(resource.oauth_scopes):
res.oauth_scopes.extend(Primitive.to_proto(resource.oauth_scopes))
if Primitive.to_proto(resource.service_account):
res.service_account = Primitive.to_proto(resource.service_account)
if ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings.to_proto(
resource.upgrade_settings
):
res.upgrade_settings.CopyFrom(
ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings.to_proto(
resource.upgrade_settings
)
)
else:
res.ClearField("upgrade_settings")
if ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement.to_proto(
resource.management
):
res.management.CopyFrom(
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement.to_proto(
resource.management
)
)
else:
res.ClearField("management")
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if Primitive.to_proto(resource.disk_size_gb):
res.disk_size_gb = Primitive.to_proto(resource.disk_size_gb)
if Primitive.to_proto(resource.disk_type):
res.disk_type = Primitive.to_proto(resource.disk_type)
if ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
):
res.shielded_instance_config.CopyFrom(
ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
)
)
else:
res.ClearField("shielded_instance_config")
if Primitive.to_proto(resource.boot_disk_kms_key):
res.boot_disk_kms_key = Primitive.to_proto(resource.boot_disk_kms_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingAutoprovisioningNodePoolDefaults(
oauth_scopes=Primitive.from_proto(resource.oauth_scopes),
service_account=Primitive.from_proto(resource.service_account),
upgrade_settings=ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings.from_proto(
resource.upgrade_settings
),
management=ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement.from_proto(
resource.management
),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
disk_size_gb=Primitive.from_proto(resource.disk_size_gb),
disk_type=Primitive.from_proto(resource.disk_type),
shielded_instance_config=ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig.from_proto(
resource.shielded_instance_config
),
boot_disk_kms_key=Primitive.from_proto(resource.boot_disk_kms_key),
)
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaults.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaults.from_proto(i)
for i in resources
]
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings(object):
def __init__(self, max_surge: int = None, max_unavailable: int = None):
self.max_surge = max_surge
self.max_unavailable = max_unavailable
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings()
)
if Primitive.to_proto(resource.max_surge):
res.max_surge = Primitive.to_proto(resource.max_surge)
if Primitive.to_proto(resource.max_unavailable):
res.max_unavailable = Primitive.to_proto(resource.max_unavailable)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings(
max_surge=Primitive.from_proto(resource.max_surge),
max_unavailable=Primitive.from_proto(resource.max_unavailable),
)
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettingsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings.from_proto(
i
)
for i in resources
]
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement(object):
def __init__(
self,
auto_upgrade: bool = None,
auto_repair: bool = None,
upgrade_options: dict = None,
):
self.auto_upgrade = auto_upgrade
self.auto_repair = auto_repair
self.upgrade_options = upgrade_options
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement()
)
if Primitive.to_proto(resource.auto_upgrade):
res.auto_upgrade = Primitive.to_proto(resource.auto_upgrade)
if Primitive.to_proto(resource.auto_repair):
res.auto_repair = Primitive.to_proto(resource.auto_repair)
if ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions.to_proto(
resource.upgrade_options
):
res.upgrade_options.CopyFrom(
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions.to_proto(
resource.upgrade_options
)
)
else:
res.ClearField("upgrade_options")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement(
auto_upgrade=Primitive.from_proto(resource.auto_upgrade),
auto_repair=Primitive.from_proto(resource.auto_repair),
upgrade_options=ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions.from_proto(
resource.upgrade_options
),
)
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement.from_proto(i)
for i in resources
]
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions(
object
):
def __init__(self, auto_upgrade_start_time: str = None, description: str = None):
self.auto_upgrade_start_time = auto_upgrade_start_time
self.description = description
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions()
)
if Primitive.to_proto(resource.auto_upgrade_start_time):
res.auto_upgrade_start_time = Primitive.to_proto(
resource.auto_upgrade_start_time
)
if Primitive.to_proto(resource.description):
res.description = Primitive.to_proto(resource.description)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions(
auto_upgrade_start_time=Primitive.from_proto(
resource.auto_upgrade_start_time
),
description=Primitive.from_proto(resource.description),
)
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptionsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions.from_proto(
i
)
for i in resources
]
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig(object):
def __init__(
self, enable_secure_boot: bool = None, enable_integrity_monitoring: bool = None
):
self.enable_secure_boot = enable_secure_boot
self.enable_integrity_monitoring = enable_integrity_monitoring
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig()
)
if Primitive.to_proto(resource.enable_secure_boot):
res.enable_secure_boot = Primitive.to_proto(resource.enable_secure_boot)
if Primitive.to_proto(resource.enable_integrity_monitoring):
res.enable_integrity_monitoring = Primitive.to_proto(
resource.enable_integrity_monitoring
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig(
enable_secure_boot=Primitive.from_proto(resource.enable_secure_boot),
enable_integrity_monitoring=Primitive.from_proto(
resource.enable_integrity_monitoring
),
)
class ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig.from_proto(
i
)
for i in resources
]
class ClusterNetworkConfig(object):
def __init__(
self,
network: str = None,
subnetwork: str = None,
enable_intra_node_visibility: bool = None,
default_snat_status: dict = None,
private_ipv6_google_access: str = None,
):
self.network = network
self.subnetwork = subnetwork
self.enable_intra_node_visibility = enable_intra_node_visibility
self.default_snat_status = default_snat_status
self.private_ipv6_google_access = private_ipv6_google_access
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNetworkConfig()
if Primitive.to_proto(resource.network):
res.network = Primitive.to_proto(resource.network)
if Primitive.to_proto(resource.subnetwork):
res.subnetwork = Primitive.to_proto(resource.subnetwork)
if Primitive.to_proto(resource.enable_intra_node_visibility):
res.enable_intra_node_visibility = Primitive.to_proto(
resource.enable_intra_node_visibility
)
if ClusterNetworkConfigDefaultSnatStatus.to_proto(resource.default_snat_status):
res.default_snat_status.CopyFrom(
ClusterNetworkConfigDefaultSnatStatus.to_proto(
resource.default_snat_status
)
)
else:
res.ClearField("default_snat_status")
if ClusterNetworkConfigPrivateIPv6GoogleAccessEnum.to_proto(
resource.private_ipv6_google_access
):
res.private_ipv6_google_access = ClusterNetworkConfigPrivateIPv6GoogleAccessEnum.to_proto(
resource.private_ipv6_google_access
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNetworkConfig(
network=Primitive.from_proto(resource.network),
subnetwork=Primitive.from_proto(resource.subnetwork),
enable_intra_node_visibility=Primitive.from_proto(
resource.enable_intra_node_visibility
),
default_snat_status=ClusterNetworkConfigDefaultSnatStatus.from_proto(
resource.default_snat_status
),
private_ipv6_google_access=ClusterNetworkConfigPrivateIPv6GoogleAccessEnum.from_proto(
resource.private_ipv6_google_access
),
)
class ClusterNetworkConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNetworkConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNetworkConfig.from_proto(i) for i in resources]
class ClusterNetworkConfigDefaultSnatStatus(object):
def __init__(self, disabled: bool = None):
self.disabled = disabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNetworkConfigDefaultSnatStatus()
if Primitive.to_proto(resource.disabled):
res.disabled = Primitive.to_proto(resource.disabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNetworkConfigDefaultSnatStatus(
disabled=Primitive.from_proto(resource.disabled),
)
class ClusterNetworkConfigDefaultSnatStatusArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNetworkConfigDefaultSnatStatus.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNetworkConfigDefaultSnatStatus.from_proto(i) for i in resources]
class ClusterMaintenancePolicy(object):
def __init__(self, window: dict = None, resource_version: str = None):
self.window = window
self.resource_version = resource_version
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMaintenancePolicy()
if ClusterMaintenancePolicyWindow.to_proto(resource.window):
res.window.CopyFrom(
ClusterMaintenancePolicyWindow.to_proto(resource.window)
)
else:
res.ClearField("window")
if Primitive.to_proto(resource.resource_version):
res.resource_version = Primitive.to_proto(resource.resource_version)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMaintenancePolicy(
window=ClusterMaintenancePolicyWindow.from_proto(resource.window),
resource_version=Primitive.from_proto(resource.resource_version),
)
class ClusterMaintenancePolicyArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMaintenancePolicy.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterMaintenancePolicy.from_proto(i) for i in resources]
class ClusterMaintenancePolicyWindow(object):
def __init__(
self,
daily_maintenance_window: dict = None,
recurring_window: dict = None,
maintenance_exclusions: dict = None,
):
self.daily_maintenance_window = daily_maintenance_window
self.recurring_window = recurring_window
self.maintenance_exclusions = maintenance_exclusions
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMaintenancePolicyWindow()
if ClusterMaintenancePolicyWindowDailyMaintenanceWindow.to_proto(
resource.daily_maintenance_window
):
res.daily_maintenance_window.CopyFrom(
ClusterMaintenancePolicyWindowDailyMaintenanceWindow.to_proto(
resource.daily_maintenance_window
)
)
else:
res.ClearField("daily_maintenance_window")
if ClusterMaintenancePolicyWindowRecurringWindow.to_proto(
resource.recurring_window
):
res.recurring_window.CopyFrom(
ClusterMaintenancePolicyWindowRecurringWindow.to_proto(
resource.recurring_window
)
)
else:
res.ClearField("recurring_window")
if Primitive.to_proto(resource.maintenance_exclusions):
res.maintenance_exclusions = Primitive.to_proto(
resource.maintenance_exclusions
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMaintenancePolicyWindow(
daily_maintenance_window=ClusterMaintenancePolicyWindowDailyMaintenanceWindow.from_proto(
resource.daily_maintenance_window
),
recurring_window=ClusterMaintenancePolicyWindowRecurringWindow.from_proto(
resource.recurring_window
),
maintenance_exclusions=Primitive.from_proto(
resource.maintenance_exclusions
),
)
class ClusterMaintenancePolicyWindowArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMaintenancePolicyWindow.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterMaintenancePolicyWindow.from_proto(i) for i in resources]
class ClusterMaintenancePolicyWindowDailyMaintenanceWindow(object):
def __init__(self, start_time: str = None, duration: str = None):
self.start_time = start_time
self.duration = duration
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterMaintenancePolicyWindowDailyMaintenanceWindow()
)
if Primitive.to_proto(resource.start_time):
res.start_time = Primitive.to_proto(resource.start_time)
if Primitive.to_proto(resource.duration):
res.duration = Primitive.to_proto(resource.duration)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMaintenancePolicyWindowDailyMaintenanceWindow(
start_time=Primitive.from_proto(resource.start_time),
duration=Primitive.from_proto(resource.duration),
)
class ClusterMaintenancePolicyWindowDailyMaintenanceWindowArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterMaintenancePolicyWindowDailyMaintenanceWindow.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterMaintenancePolicyWindowDailyMaintenanceWindow.from_proto(i)
for i in resources
]
class ClusterMaintenancePolicyWindowRecurringWindow(object):
def __init__(self, window: dict = None, recurrence: str = None):
self.window = window
self.recurrence = recurrence
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMaintenancePolicyWindowRecurringWindow()
if ClusterMaintenancePolicyWindowRecurringWindowWindow.to_proto(
resource.window
):
res.window.CopyFrom(
ClusterMaintenancePolicyWindowRecurringWindowWindow.to_proto(
resource.window
)
)
else:
res.ClearField("window")
if Primitive.to_proto(resource.recurrence):
res.recurrence = Primitive.to_proto(resource.recurrence)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMaintenancePolicyWindowRecurringWindow(
window=ClusterMaintenancePolicyWindowRecurringWindowWindow.from_proto(
resource.window
),
recurrence=Primitive.from_proto(resource.recurrence),
)
class ClusterMaintenancePolicyWindowRecurringWindowArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterMaintenancePolicyWindowRecurringWindow.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterMaintenancePolicyWindowRecurringWindow.from_proto(i)
for i in resources
]
class ClusterMaintenancePolicyWindowRecurringWindowWindow(object):
def __init__(self, start_time: str = None, end_time: str = None):
self.start_time = start_time
self.end_time = end_time
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterMaintenancePolicyWindowRecurringWindowWindow()
if Primitive.to_proto(resource.start_time):
res.start_time = Primitive.to_proto(resource.start_time)
if Primitive.to_proto(resource.end_time):
res.end_time = Primitive.to_proto(resource.end_time)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMaintenancePolicyWindowRecurringWindowWindow(
start_time=Primitive.from_proto(resource.start_time),
end_time=Primitive.from_proto(resource.end_time),
)
class ClusterMaintenancePolicyWindowRecurringWindowWindowArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterMaintenancePolicyWindowRecurringWindowWindow.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterMaintenancePolicyWindowRecurringWindowWindow.from_proto(i)
for i in resources
]
class ClusterDefaultMaxPodsConstraint(object):
def __init__(self, max_pods_per_node: str = None):
self.max_pods_per_node = max_pods_per_node
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterDefaultMaxPodsConstraint()
if Primitive.to_proto(resource.max_pods_per_node):
res.max_pods_per_node = Primitive.to_proto(resource.max_pods_per_node)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterDefaultMaxPodsConstraint(
max_pods_per_node=Primitive.from_proto(resource.max_pods_per_node),
)
class ClusterDefaultMaxPodsConstraintArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterDefaultMaxPodsConstraint.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterDefaultMaxPodsConstraint.from_proto(i) for i in resources]
class ClusterResourceUsageExportConfig(object):
def __init__(
self,
bigquery_destination: dict = None,
enable_network_egress_monitoring: bool = None,
consumption_metering_config: dict = None,
enable_network_egress_metering: bool = None,
):
self.bigquery_destination = bigquery_destination
self.enable_network_egress_monitoring = enable_network_egress_monitoring
self.consumption_metering_config = consumption_metering_config
self.enable_network_egress_metering = enable_network_egress_metering
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterResourceUsageExportConfig()
if ClusterResourceUsageExportConfigBigqueryDestination.to_proto(
resource.bigquery_destination
):
res.bigquery_destination.CopyFrom(
ClusterResourceUsageExportConfigBigqueryDestination.to_proto(
resource.bigquery_destination
)
)
else:
res.ClearField("bigquery_destination")
if Primitive.to_proto(resource.enable_network_egress_monitoring):
res.enable_network_egress_monitoring = Primitive.to_proto(
resource.enable_network_egress_monitoring
)
if ClusterResourceUsageExportConfigConsumptionMeteringConfig.to_proto(
resource.consumption_metering_config
):
res.consumption_metering_config.CopyFrom(
ClusterResourceUsageExportConfigConsumptionMeteringConfig.to_proto(
resource.consumption_metering_config
)
)
else:
res.ClearField("consumption_metering_config")
if Primitive.to_proto(resource.enable_network_egress_metering):
res.enable_network_egress_metering = Primitive.to_proto(
resource.enable_network_egress_metering
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterResourceUsageExportConfig(
bigquery_destination=ClusterResourceUsageExportConfigBigqueryDestination.from_proto(
resource.bigquery_destination
),
enable_network_egress_monitoring=Primitive.from_proto(
resource.enable_network_egress_monitoring
),
consumption_metering_config=ClusterResourceUsageExportConfigConsumptionMeteringConfig.from_proto(
resource.consumption_metering_config
),
enable_network_egress_metering=Primitive.from_proto(
resource.enable_network_egress_metering
),
)
class ClusterResourceUsageExportConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterResourceUsageExportConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterResourceUsageExportConfig.from_proto(i) for i in resources]
class ClusterResourceUsageExportConfigBigqueryDestination(object):
def __init__(self, dataset_id: str = None):
self.dataset_id = dataset_id
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterResourceUsageExportConfigBigqueryDestination()
if Primitive.to_proto(resource.dataset_id):
res.dataset_id = Primitive.to_proto(resource.dataset_id)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterResourceUsageExportConfigBigqueryDestination(
dataset_id=Primitive.from_proto(resource.dataset_id),
)
class ClusterResourceUsageExportConfigBigqueryDestinationArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterResourceUsageExportConfigBigqueryDestination.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterResourceUsageExportConfigBigqueryDestination.from_proto(i)
for i in resources
]
class ClusterResourceUsageExportConfigConsumptionMeteringConfig(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.ContainerClusterResourceUsageExportConfigConsumptionMeteringConfig()
)
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterResourceUsageExportConfigConsumptionMeteringConfig(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterResourceUsageExportConfigConsumptionMeteringConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterResourceUsageExportConfigConsumptionMeteringConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterResourceUsageExportConfigConsumptionMeteringConfig.from_proto(i)
for i in resources
]
class ClusterAuthenticatorGroupsConfig(object):
def __init__(self, enabled: bool = None, security_group: str = None):
self.enabled = enabled
self.security_group = security_group
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAuthenticatorGroupsConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
if Primitive.to_proto(resource.security_group):
res.security_group = Primitive.to_proto(resource.security_group)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAuthenticatorGroupsConfig(
enabled=Primitive.from_proto(resource.enabled),
security_group=Primitive.from_proto(resource.security_group),
)
class ClusterAuthenticatorGroupsConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAuthenticatorGroupsConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAuthenticatorGroupsConfig.from_proto(i) for i in resources]
class ClusterPrivateClusterConfig(object):
def __init__(
self,
enable_private_nodes: bool = None,
enable_private_endpoint: bool = None,
master_ipv4_cidr_block: str = None,
private_endpoint: str = None,
public_endpoint: str = None,
peering_name: str = None,
master_global_access_config: dict = None,
):
self.enable_private_nodes = enable_private_nodes
self.enable_private_endpoint = enable_private_endpoint
self.master_ipv4_cidr_block = master_ipv4_cidr_block
self.private_endpoint = private_endpoint
self.public_endpoint = public_endpoint
self.peering_name = peering_name
self.master_global_access_config = master_global_access_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterPrivateClusterConfig()
if Primitive.to_proto(resource.enable_private_nodes):
res.enable_private_nodes = Primitive.to_proto(resource.enable_private_nodes)
if Primitive.to_proto(resource.enable_private_endpoint):
res.enable_private_endpoint = Primitive.to_proto(
resource.enable_private_endpoint
)
if Primitive.to_proto(resource.master_ipv4_cidr_block):
res.master_ipv4_cidr_block = Primitive.to_proto(
resource.master_ipv4_cidr_block
)
if Primitive.to_proto(resource.private_endpoint):
res.private_endpoint = Primitive.to_proto(resource.private_endpoint)
if Primitive.to_proto(resource.public_endpoint):
res.public_endpoint = Primitive.to_proto(resource.public_endpoint)
if Primitive.to_proto(resource.peering_name):
res.peering_name = Primitive.to_proto(resource.peering_name)
if ClusterPrivateClusterConfigMasterGlobalAccessConfig.to_proto(
resource.master_global_access_config
):
res.master_global_access_config.CopyFrom(
ClusterPrivateClusterConfigMasterGlobalAccessConfig.to_proto(
resource.master_global_access_config
)
)
else:
res.ClearField("master_global_access_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterPrivateClusterConfig(
enable_private_nodes=Primitive.from_proto(resource.enable_private_nodes),
enable_private_endpoint=Primitive.from_proto(
resource.enable_private_endpoint
),
master_ipv4_cidr_block=Primitive.from_proto(
resource.master_ipv4_cidr_block
),
private_endpoint=Primitive.from_proto(resource.private_endpoint),
public_endpoint=Primitive.from_proto(resource.public_endpoint),
peering_name=Primitive.from_proto(resource.peering_name),
master_global_access_config=ClusterPrivateClusterConfigMasterGlobalAccessConfig.from_proto(
resource.master_global_access_config
),
)
class ClusterPrivateClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterPrivateClusterConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterPrivateClusterConfig.from_proto(i) for i in resources]
class ClusterPrivateClusterConfigMasterGlobalAccessConfig(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfig()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterPrivateClusterConfigMasterGlobalAccessConfig(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterPrivateClusterConfigMasterGlobalAccessConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterPrivateClusterConfigMasterGlobalAccessConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterPrivateClusterConfigMasterGlobalAccessConfig.from_proto(i)
for i in resources
]
class ClusterDatabaseEncryption(object):
def __init__(self, state: str = None, key_name: str = None):
self.state = state
self.key_name = key_name
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterDatabaseEncryption()
if ClusterDatabaseEncryptionStateEnum.to_proto(resource.state):
res.state = ClusterDatabaseEncryptionStateEnum.to_proto(resource.state)
if Primitive.to_proto(resource.key_name):
res.key_name = Primitive.to_proto(resource.key_name)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterDatabaseEncryption(
state=ClusterDatabaseEncryptionStateEnum.from_proto(resource.state),
key_name=Primitive.from_proto(resource.key_name),
)
class ClusterDatabaseEncryptionArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterDatabaseEncryption.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterDatabaseEncryption.from_proto(i) for i in resources]
class ClusterVerticalPodAutoscaling(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterVerticalPodAutoscaling()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVerticalPodAutoscaling(
enabled=Primitive.from_proto(resource.enabled),
)
class ClusterVerticalPodAutoscalingArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterVerticalPodAutoscaling.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterVerticalPodAutoscaling.from_proto(i) for i in resources]
class ClusterShieldedNodes(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterShieldedNodes()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterShieldedNodes(enabled=Primitive.from_proto(resource.enabled),)
class ClusterShieldedNodesArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterShieldedNodes.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterShieldedNodes.from_proto(i) for i in resources]
class ClusterConditions(object):
def __init__(
self, code: str = None, message: str = None, canonical_code: str = None
):
self.code = code
self.message = message
self.canonical_code = canonical_code
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterConditions()
if Primitive.to_proto(resource.code):
res.code = Primitive.to_proto(resource.code)
if Primitive.to_proto(resource.message):
res.message = Primitive.to_proto(resource.message)
if ClusterConditionsCanonicalCodeEnum.to_proto(resource.canonical_code):
res.canonical_code = ClusterConditionsCanonicalCodeEnum.to_proto(
resource.canonical_code
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConditions(
code=Primitive.from_proto(resource.code),
message=Primitive.from_proto(resource.message),
canonical_code=ClusterConditionsCanonicalCodeEnum.from_proto(
resource.canonical_code
),
)
class ClusterConditionsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConditions.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConditions.from_proto(i) for i in resources]
class ClusterAutopilot(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterAutopilot()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterAutopilot(enabled=Primitive.from_proto(resource.enabled),)
class ClusterAutopilotArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterAutopilot.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterAutopilot.from_proto(i) for i in resources]
class ClusterNodeConfig(object):
def __init__(
self,
machine_type: str = None,
disk_size_gb: int = None,
oauth_scopes: list = None,
service_account: str = None,
metadata: dict = None,
image_type: str = None,
labels: dict = None,
local_ssd_count: int = None,
tags: list = None,
preemptible: bool = None,
accelerators: list = None,
disk_type: str = None,
min_cpu_platform: str = None,
workload_metadata_config: dict = None,
taints: list = None,
sandbox_config: dict = None,
node_group: str = None,
reservation_affinity: dict = None,
shielded_instance_config: dict = None,
linux_node_config: dict = None,
kubelet_config: dict = None,
boot_disk_kms_key: str = None,
):
self.machine_type = machine_type
self.disk_size_gb = disk_size_gb
self.oauth_scopes = oauth_scopes
self.service_account = service_account
self.metadata = metadata
self.image_type = image_type
self.labels = labels
self.local_ssd_count = local_ssd_count
self.tags = tags
self.preemptible = preemptible
self.accelerators = accelerators
self.disk_type = disk_type
self.min_cpu_platform = min_cpu_platform
self.workload_metadata_config = workload_metadata_config
self.taints = taints
self.sandbox_config = sandbox_config
self.node_group = node_group
self.reservation_affinity = reservation_affinity
self.shielded_instance_config = shielded_instance_config
self.linux_node_config = linux_node_config
self.kubelet_config = kubelet_config
self.boot_disk_kms_key = boot_disk_kms_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfig()
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if Primitive.to_proto(resource.disk_size_gb):
res.disk_size_gb = Primitive.to_proto(resource.disk_size_gb)
if Primitive.to_proto(resource.oauth_scopes):
res.oauth_scopes.extend(Primitive.to_proto(resource.oauth_scopes))
if Primitive.to_proto(resource.service_account):
res.service_account = Primitive.to_proto(resource.service_account)
if Primitive.to_proto(resource.metadata):
res.metadata = Primitive.to_proto(resource.metadata)
if Primitive.to_proto(resource.image_type):
res.image_type = Primitive.to_proto(resource.image_type)
if Primitive.to_proto(resource.labels):
res.labels = Primitive.to_proto(resource.labels)
if Primitive.to_proto(resource.local_ssd_count):
res.local_ssd_count = Primitive.to_proto(resource.local_ssd_count)
if Primitive.to_proto(resource.tags):
res.tags.extend(Primitive.to_proto(resource.tags))
if Primitive.to_proto(resource.preemptible):
res.preemptible = Primitive.to_proto(resource.preemptible)
if ClusterNodeConfigAcceleratorsArray.to_proto(resource.accelerators):
res.accelerators.extend(
ClusterNodeConfigAcceleratorsArray.to_proto(resource.accelerators)
)
if Primitive.to_proto(resource.disk_type):
res.disk_type = Primitive.to_proto(resource.disk_type)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if ClusterNodeConfigWorkloadMetadataConfig.to_proto(
resource.workload_metadata_config
):
res.workload_metadata_config.CopyFrom(
ClusterNodeConfigWorkloadMetadataConfig.to_proto(
resource.workload_metadata_config
)
)
else:
res.ClearField("workload_metadata_config")
if ClusterNodeConfigTaintsArray.to_proto(resource.taints):
res.taints.extend(ClusterNodeConfigTaintsArray.to_proto(resource.taints))
if ClusterNodeConfigSandboxConfig.to_proto(resource.sandbox_config):
res.sandbox_config.CopyFrom(
ClusterNodeConfigSandboxConfig.to_proto(resource.sandbox_config)
)
else:
res.ClearField("sandbox_config")
if Primitive.to_proto(resource.node_group):
res.node_group = Primitive.to_proto(resource.node_group)
if ClusterNodeConfigReservationAffinity.to_proto(resource.reservation_affinity):
res.reservation_affinity.CopyFrom(
ClusterNodeConfigReservationAffinity.to_proto(
resource.reservation_affinity
)
)
else:
res.ClearField("reservation_affinity")
if ClusterNodeConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
):
res.shielded_instance_config.CopyFrom(
ClusterNodeConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
)
)
else:
res.ClearField("shielded_instance_config")
if ClusterNodeConfigLinuxNodeConfig.to_proto(resource.linux_node_config):
res.linux_node_config.CopyFrom(
ClusterNodeConfigLinuxNodeConfig.to_proto(resource.linux_node_config)
)
else:
res.ClearField("linux_node_config")
if ClusterNodeConfigKubeletConfig.to_proto(resource.kubelet_config):
res.kubelet_config.CopyFrom(
ClusterNodeConfigKubeletConfig.to_proto(resource.kubelet_config)
)
else:
res.ClearField("kubelet_config")
if Primitive.to_proto(resource.boot_disk_kms_key):
res.boot_disk_kms_key = Primitive.to_proto(resource.boot_disk_kms_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfig(
machine_type=Primitive.from_proto(resource.machine_type),
disk_size_gb=Primitive.from_proto(resource.disk_size_gb),
oauth_scopes=Primitive.from_proto(resource.oauth_scopes),
service_account=Primitive.from_proto(resource.service_account),
metadata=Primitive.from_proto(resource.metadata),
image_type=Primitive.from_proto(resource.image_type),
labels=Primitive.from_proto(resource.labels),
local_ssd_count=Primitive.from_proto(resource.local_ssd_count),
tags=Primitive.from_proto(resource.tags),
preemptible=Primitive.from_proto(resource.preemptible),
accelerators=ClusterNodeConfigAcceleratorsArray.from_proto(
resource.accelerators
),
disk_type=Primitive.from_proto(resource.disk_type),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
workload_metadata_config=ClusterNodeConfigWorkloadMetadataConfig.from_proto(
resource.workload_metadata_config
),
taints=ClusterNodeConfigTaintsArray.from_proto(resource.taints),
sandbox_config=ClusterNodeConfigSandboxConfig.from_proto(
resource.sandbox_config
),
node_group=Primitive.from_proto(resource.node_group),
reservation_affinity=ClusterNodeConfigReservationAffinity.from_proto(
resource.reservation_affinity
),
shielded_instance_config=ClusterNodeConfigShieldedInstanceConfig.from_proto(
resource.shielded_instance_config
),
linux_node_config=ClusterNodeConfigLinuxNodeConfig.from_proto(
resource.linux_node_config
),
kubelet_config=ClusterNodeConfigKubeletConfig.from_proto(
resource.kubelet_config
),
boot_disk_kms_key=Primitive.from_proto(resource.boot_disk_kms_key),
)
class ClusterNodeConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfig.from_proto(i) for i in resources]
class ClusterNodeConfigAccelerators(object):
def __init__(self, accelerator_count: int = None, accelerator_type: str = None):
self.accelerator_count = accelerator_count
self.accelerator_type = accelerator_type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigAccelerators()
if Primitive.to_proto(resource.accelerator_count):
res.accelerator_count = Primitive.to_proto(resource.accelerator_count)
if Primitive.to_proto(resource.accelerator_type):
res.accelerator_type = Primitive.to_proto(resource.accelerator_type)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigAccelerators(
accelerator_count=Primitive.from_proto(resource.accelerator_count),
accelerator_type=Primitive.from_proto(resource.accelerator_type),
)
class ClusterNodeConfigAcceleratorsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigAccelerators.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigAccelerators.from_proto(i) for i in resources]
class ClusterNodeConfigWorkloadMetadataConfig(object):
def __init__(self, mode: str = None):
self.mode = mode
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigWorkloadMetadataConfig()
if ClusterNodeConfigWorkloadMetadataConfigModeEnum.to_proto(resource.mode):
res.mode = ClusterNodeConfigWorkloadMetadataConfigModeEnum.to_proto(
resource.mode
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigWorkloadMetadataConfig(
mode=ClusterNodeConfigWorkloadMetadataConfigModeEnum.from_proto(
resource.mode
),
)
class ClusterNodeConfigWorkloadMetadataConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigWorkloadMetadataConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterNodeConfigWorkloadMetadataConfig.from_proto(i) for i in resources
]
class ClusterNodeConfigTaints(object):
def __init__(self, key: str = None, value: str = None, effect: str = None):
self.key = key
self.value = value
self.effect = effect
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigTaints()
if Primitive.to_proto(resource.key):
res.key = Primitive.to_proto(resource.key)
if Primitive.to_proto(resource.value):
res.value = Primitive.to_proto(resource.value)
if ClusterNodeConfigTaintsEffectEnum.to_proto(resource.effect):
res.effect = ClusterNodeConfigTaintsEffectEnum.to_proto(resource.effect)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigTaints(
key=Primitive.from_proto(resource.key),
value=Primitive.from_proto(resource.value),
effect=ClusterNodeConfigTaintsEffectEnum.from_proto(resource.effect),
)
class ClusterNodeConfigTaintsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigTaints.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigTaints.from_proto(i) for i in resources]
class ClusterNodeConfigSandboxConfig(object):
def __init__(self, type: str = None):
self.type = type
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigSandboxConfig()
if ClusterNodeConfigSandboxConfigTypeEnum.to_proto(resource.type):
res.type = ClusterNodeConfigSandboxConfigTypeEnum.to_proto(resource.type)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigSandboxConfig(
type=ClusterNodeConfigSandboxConfigTypeEnum.from_proto(resource.type),
)
class ClusterNodeConfigSandboxConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigSandboxConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigSandboxConfig.from_proto(i) for i in resources]
class ClusterNodeConfigReservationAffinity(object):
def __init__(
self, consume_reservation_type: str = None, key: str = None, values: list = None
):
self.consume_reservation_type = consume_reservation_type
self.key = key
self.values = values
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigReservationAffinity()
if ClusterNodeConfigReservationAffinityConsumeReservationTypeEnum.to_proto(
resource.consume_reservation_type
):
res.consume_reservation_type = ClusterNodeConfigReservationAffinityConsumeReservationTypeEnum.to_proto(
resource.consume_reservation_type
)
if Primitive.to_proto(resource.key):
res.key = Primitive.to_proto(resource.key)
if Primitive.to_proto(resource.values):
res.values.extend(Primitive.to_proto(resource.values))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigReservationAffinity(
consume_reservation_type=ClusterNodeConfigReservationAffinityConsumeReservationTypeEnum.from_proto(
resource.consume_reservation_type
),
key=Primitive.from_proto(resource.key),
values=Primitive.from_proto(resource.values),
)
class ClusterNodeConfigReservationAffinityArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigReservationAffinity.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigReservationAffinity.from_proto(i) for i in resources]
class ClusterNodeConfigShieldedInstanceConfig(object):
def __init__(
self, enable_secure_boot: bool = None, enable_integrity_monitoring: bool = None
):
self.enable_secure_boot = enable_secure_boot
self.enable_integrity_monitoring = enable_integrity_monitoring
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigShieldedInstanceConfig()
if Primitive.to_proto(resource.enable_secure_boot):
res.enable_secure_boot = Primitive.to_proto(resource.enable_secure_boot)
if Primitive.to_proto(resource.enable_integrity_monitoring):
res.enable_integrity_monitoring = Primitive.to_proto(
resource.enable_integrity_monitoring
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigShieldedInstanceConfig(
enable_secure_boot=Primitive.from_proto(resource.enable_secure_boot),
enable_integrity_monitoring=Primitive.from_proto(
resource.enable_integrity_monitoring
),
)
class ClusterNodeConfigShieldedInstanceConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigShieldedInstanceConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterNodeConfigShieldedInstanceConfig.from_proto(i) for i in resources
]
class ClusterNodeConfigLinuxNodeConfig(object):
def __init__(self, sysctls: dict = None):
self.sysctls = sysctls
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigLinuxNodeConfig()
if Primitive.to_proto(resource.sysctls):
res.sysctls = Primitive.to_proto(resource.sysctls)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigLinuxNodeConfig(
sysctls=Primitive.from_proto(resource.sysctls),
)
class ClusterNodeConfigLinuxNodeConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigLinuxNodeConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigLinuxNodeConfig.from_proto(i) for i in resources]
class ClusterNodeConfigKubeletConfig(object):
def __init__(
self,
cpu_manager_policy: str = None,
cpu_cfs_quota: bool = None,
cpu_cfs_quota_period: str = None,
):
self.cpu_manager_policy = cpu_manager_policy
self.cpu_cfs_quota = cpu_cfs_quota
self.cpu_cfs_quota_period = cpu_cfs_quota_period
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNodeConfigKubeletConfig()
if Primitive.to_proto(resource.cpu_manager_policy):
res.cpu_manager_policy = Primitive.to_proto(resource.cpu_manager_policy)
if Primitive.to_proto(resource.cpu_cfs_quota):
res.cpu_cfs_quota = Primitive.to_proto(resource.cpu_cfs_quota)
if Primitive.to_proto(resource.cpu_cfs_quota_period):
res.cpu_cfs_quota_period = Primitive.to_proto(resource.cpu_cfs_quota_period)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNodeConfigKubeletConfig(
cpu_manager_policy=Primitive.from_proto(resource.cpu_manager_policy),
cpu_cfs_quota=Primitive.from_proto(resource.cpu_cfs_quota),
cpu_cfs_quota_period=Primitive.from_proto(resource.cpu_cfs_quota_period),
)
class ClusterNodeConfigKubeletConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNodeConfigKubeletConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNodeConfigKubeletConfig.from_proto(i) for i in resources]
class ClusterReleaseChannel(object):
def __init__(self, channel: str = None):
self.channel = channel
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterReleaseChannel()
if ClusterReleaseChannelChannelEnum.to_proto(resource.channel):
res.channel = ClusterReleaseChannelChannelEnum.to_proto(resource.channel)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterReleaseChannel(
channel=ClusterReleaseChannelChannelEnum.from_proto(resource.channel),
)
class ClusterReleaseChannelArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterReleaseChannel.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterReleaseChannel.from_proto(i) for i in resources]
class ClusterWorkloadIdentityConfig(object):
def __init__(self, workload_pool: str = None):
self.workload_pool = workload_pool
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterWorkloadIdentityConfig()
if Primitive.to_proto(resource.workload_pool):
res.workload_pool = Primitive.to_proto(resource.workload_pool)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterWorkloadIdentityConfig(
workload_pool=Primitive.from_proto(resource.workload_pool),
)
class ClusterWorkloadIdentityConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterWorkloadIdentityConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterWorkloadIdentityConfig.from_proto(i) for i in resources]
class ClusterNotificationConfig(object):
def __init__(self, pubsub: dict = None):
self.pubsub = pubsub
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNotificationConfig()
if ClusterNotificationConfigPubsub.to_proto(resource.pubsub):
res.pubsub.CopyFrom(
ClusterNotificationConfigPubsub.to_proto(resource.pubsub)
)
else:
res.ClearField("pubsub")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNotificationConfig(
pubsub=ClusterNotificationConfigPubsub.from_proto(resource.pubsub),
)
class ClusterNotificationConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNotificationConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNotificationConfig.from_proto(i) for i in resources]
class ClusterNotificationConfigPubsub(object):
def __init__(self, enabled: bool = None, topic: str = None):
self.enabled = enabled
self.topic = topic
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterNotificationConfigPubsub()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
if Primitive.to_proto(resource.topic):
res.topic = Primitive.to_proto(resource.topic)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterNotificationConfigPubsub(
enabled=Primitive.from_proto(resource.enabled),
topic=Primitive.from_proto(resource.topic),
)
class ClusterNotificationConfigPubsubArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterNotificationConfigPubsub.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterNotificationConfigPubsub.from_proto(i) for i in resources]
class ClusterConfidentialNodes(object):
def __init__(self, enabled: bool = None):
self.enabled = enabled
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.ContainerClusterConfidentialNodes()
if Primitive.to_proto(resource.enabled):
res.enabled = Primitive.to_proto(resource.enabled)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfidentialNodes(enabled=Primitive.from_proto(resource.enabled),)
class ClusterConfidentialNodesArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfidentialNodes.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfidentialNodes.from_proto(i) for i in resources]
class ClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum.Value(
"ContainerClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum.Name(
resource
)[
len("ContainerClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum") :
]
class ClusterNodePoolsConfigWorkloadMetadataConfigModeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigWorkloadMetadataConfigModeEnum.Value(
"ContainerClusterNodePoolsConfigWorkloadMetadataConfigModeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigWorkloadMetadataConfigModeEnum.Name(
resource
)[
len("ContainerClusterNodePoolsConfigWorkloadMetadataConfigModeEnum") :
]
class ClusterNodePoolsConfigTaintsEffectEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigTaintsEffectEnum.Value(
"ContainerClusterNodePoolsConfigTaintsEffectEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigTaintsEffectEnum.Name(
resource
)[len("ContainerClusterNodePoolsConfigTaintsEffectEnum") :]
class ClusterNodePoolsConfigSandboxConfigTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigSandboxConfigTypeEnum.Value(
"ContainerClusterNodePoolsConfigSandboxConfigTypeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigSandboxConfigTypeEnum.Name(
resource
)[len("ContainerClusterNodePoolsConfigSandboxConfigTypeEnum") :]
class ClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum.Value(
"ContainerClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum.Name(
resource
)[
len(
"ContainerClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum"
) :
]
class ClusterNodePoolsStatusEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsStatusEnum.Value(
"ContainerClusterNodePoolsStatusEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsStatusEnum.Name(resource)[
len("ContainerClusterNodePoolsStatusEnum") :
]
class ClusterNodePoolsConditionsCodeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConditionsCodeEnum.Value(
"ContainerClusterNodePoolsConditionsCodeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConditionsCodeEnum.Name(resource)[
len("ContainerClusterNodePoolsConditionsCodeEnum") :
]
class ClusterNodePoolsConditionsCanonicalCodeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConditionsCanonicalCodeEnum.Value(
"ContainerClusterNodePoolsConditionsCanonicalCodeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodePoolsConditionsCanonicalCodeEnum.Name(
resource
)[len("ContainerClusterNodePoolsConditionsCanonicalCodeEnum") :]
class ClusterNetworkPolicyProviderEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNetworkPolicyProviderEnum.Value(
"ContainerClusterNetworkPolicyProviderEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNetworkPolicyProviderEnum.Name(resource)[
len("ContainerClusterNetworkPolicyProviderEnum") :
]
class ClusterNetworkConfigPrivateIPv6GoogleAccessEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNetworkConfigPrivateIPv6GoogleAccessEnum.Value(
"ContainerClusterNetworkConfigPrivateIPv6GoogleAccessEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNetworkConfigPrivateIPv6GoogleAccessEnum.Name(
resource
)[
len("ContainerClusterNetworkConfigPrivateIPv6GoogleAccessEnum") :
]
class ClusterDatabaseEncryptionStateEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterDatabaseEncryptionStateEnum.Value(
"ContainerClusterDatabaseEncryptionStateEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterDatabaseEncryptionStateEnum.Name(resource)[
len("ContainerClusterDatabaseEncryptionStateEnum") :
]
class ClusterConditionsCanonicalCodeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterConditionsCanonicalCodeEnum.Value(
"ContainerClusterConditionsCanonicalCodeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterConditionsCanonicalCodeEnum.Name(resource)[
len("ContainerClusterConditionsCanonicalCodeEnum") :
]
class ClusterNodeConfigWorkloadMetadataConfigModeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigWorkloadMetadataConfigModeEnum.Value(
"ContainerClusterNodeConfigWorkloadMetadataConfigModeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigWorkloadMetadataConfigModeEnum.Name(
resource
)[
len("ContainerClusterNodeConfigWorkloadMetadataConfigModeEnum") :
]
class ClusterNodeConfigTaintsEffectEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigTaintsEffectEnum.Value(
"ContainerClusterNodeConfigTaintsEffectEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigTaintsEffectEnum.Name(resource)[
len("ContainerClusterNodeConfigTaintsEffectEnum") :
]
class ClusterNodeConfigSandboxConfigTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigSandboxConfigTypeEnum.Value(
"ContainerClusterNodeConfigSandboxConfigTypeEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigSandboxConfigTypeEnum.Name(
resource
)[len("ContainerClusterNodeConfigSandboxConfigTypeEnum") :]
class ClusterNodeConfigReservationAffinityConsumeReservationTypeEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigReservationAffinityConsumeReservationTypeEnum.Value(
"ContainerClusterNodeConfigReservationAffinityConsumeReservationTypeEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterNodeConfigReservationAffinityConsumeReservationTypeEnum.Name(
resource
)[
len(
"ContainerClusterNodeConfigReservationAffinityConsumeReservationTypeEnum"
) :
]
class ClusterReleaseChannelChannelEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterReleaseChannelChannelEnum.Value(
"ContainerClusterReleaseChannelChannelEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.ContainerClusterReleaseChannelChannelEnum.Name(resource)[
len("ContainerClusterReleaseChannelChannelEnum") :
]
class Primitive(object):
@classmethod
def to_proto(self, s):
if not s:
return ""
return s
@classmethod
def from_proto(self, s):
return s