python/services/dataproc/cluster.py (3,114 lines of code) (raw):
# Copyright 2025 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.dataproc import cluster_pb2
from google3.cloud.graphite.mmv2.services.google.dataproc import cluster_pb2_grpc
from typing import List
class Cluster(object):
def __init__(
self,
project: str = None,
name: str = None,
config: dict = None,
labels: dict = None,
status: dict = None,
status_history: list = None,
cluster_uuid: str = None,
metrics: dict = None,
location: str = None,
virtual_cluster_config: dict = None,
service_account_file: str = "",
):
channel.initialize()
self.project = project
self.name = name
self.config = config
self.labels = labels
self.location = location
self.virtual_cluster_config = virtual_cluster_config
self.service_account_file = service_account_file
def apply(self):
stub = cluster_pb2_grpc.DataprocClusterServiceStub(channel.Channel())
request = cluster_pb2.ApplyDataprocClusterRequest()
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if ClusterConfig.to_proto(self.config):
request.resource.config.CopyFrom(ClusterConfig.to_proto(self.config))
else:
request.resource.ClearField("config")
if Primitive.to_proto(self.labels):
request.resource.labels = Primitive.to_proto(self.labels)
if Primitive.to_proto(self.location):
request.resource.location = Primitive.to_proto(self.location)
if ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config):
request.resource.virtual_cluster_config.CopyFrom(
ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config)
)
else:
request.resource.ClearField("virtual_cluster_config")
request.service_account_file = self.service_account_file
response = stub.ApplyDataprocCluster(request)
self.project = Primitive.from_proto(response.project)
self.name = Primitive.from_proto(response.name)
self.config = ClusterConfig.from_proto(response.config)
self.labels = Primitive.from_proto(response.labels)
self.status = ClusterStatus.from_proto(response.status)
self.status_history = ClusterStatusHistoryArray.from_proto(
response.status_history
)
self.cluster_uuid = Primitive.from_proto(response.cluster_uuid)
self.metrics = ClusterMetrics.from_proto(response.metrics)
self.location = Primitive.from_proto(response.location)
self.virtual_cluster_config = ClusterVirtualClusterConfig.from_proto(
response.virtual_cluster_config
)
def delete(self):
stub = cluster_pb2_grpc.DataprocClusterServiceStub(channel.Channel())
request = cluster_pb2.DeleteDataprocClusterRequest()
request.service_account_file = self.service_account_file
if Primitive.to_proto(self.project):
request.resource.project = Primitive.to_proto(self.project)
if Primitive.to_proto(self.name):
request.resource.name = Primitive.to_proto(self.name)
if ClusterConfig.to_proto(self.config):
request.resource.config.CopyFrom(ClusterConfig.to_proto(self.config))
else:
request.resource.ClearField("config")
if Primitive.to_proto(self.labels):
request.resource.labels = Primitive.to_proto(self.labels)
if Primitive.to_proto(self.location):
request.resource.location = Primitive.to_proto(self.location)
if ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config):
request.resource.virtual_cluster_config.CopyFrom(
ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config)
)
else:
request.resource.ClearField("virtual_cluster_config")
response = stub.DeleteDataprocCluster(request)
@classmethod
def list(self, project, location, service_account_file=""):
stub = cluster_pb2_grpc.DataprocClusterServiceStub(channel.Channel())
request = cluster_pb2.ListDataprocClusterRequest()
request.service_account_file = service_account_file
request.Project = project
request.Location = location
return stub.ListDataprocCluster(request).items
def to_proto(self):
resource = cluster_pb2.DataprocCluster()
if Primitive.to_proto(self.project):
resource.project = Primitive.to_proto(self.project)
if Primitive.to_proto(self.name):
resource.name = Primitive.to_proto(self.name)
if ClusterConfig.to_proto(self.config):
resource.config.CopyFrom(ClusterConfig.to_proto(self.config))
else:
resource.ClearField("config")
if Primitive.to_proto(self.labels):
resource.labels = Primitive.to_proto(self.labels)
if Primitive.to_proto(self.location):
resource.location = Primitive.to_proto(self.location)
if ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config):
resource.virtual_cluster_config.CopyFrom(
ClusterVirtualClusterConfig.to_proto(self.virtual_cluster_config)
)
else:
resource.ClearField("virtual_cluster_config")
return resource
class ClusterConfig(object):
def __init__(
self,
staging_bucket: str = None,
temp_bucket: str = None,
gce_cluster_config: dict = None,
master_config: dict = None,
worker_config: dict = None,
secondary_worker_config: dict = None,
software_config: dict = None,
initialization_actions: list = None,
encryption_config: dict = None,
autoscaling_config: dict = None,
security_config: dict = None,
lifecycle_config: dict = None,
endpoint_config: dict = None,
metastore_config: dict = None,
dataproc_metric_config: dict = None,
):
self.staging_bucket = staging_bucket
self.temp_bucket = temp_bucket
self.gce_cluster_config = gce_cluster_config
self.master_config = master_config
self.worker_config = worker_config
self.secondary_worker_config = secondary_worker_config
self.software_config = software_config
self.initialization_actions = initialization_actions
self.encryption_config = encryption_config
self.autoscaling_config = autoscaling_config
self.security_config = security_config
self.lifecycle_config = lifecycle_config
self.endpoint_config = endpoint_config
self.metastore_config = metastore_config
self.dataproc_metric_config = dataproc_metric_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfig()
if Primitive.to_proto(resource.staging_bucket):
res.staging_bucket = Primitive.to_proto(resource.staging_bucket)
if Primitive.to_proto(resource.temp_bucket):
res.temp_bucket = Primitive.to_proto(resource.temp_bucket)
if ClusterConfigGceClusterConfig.to_proto(resource.gce_cluster_config):
res.gce_cluster_config.CopyFrom(
ClusterConfigGceClusterConfig.to_proto(resource.gce_cluster_config)
)
else:
res.ClearField("gce_cluster_config")
if ClusterConfigMasterConfig.to_proto(resource.master_config):
res.master_config.CopyFrom(
ClusterConfigMasterConfig.to_proto(resource.master_config)
)
else:
res.ClearField("master_config")
if ClusterConfigWorkerConfig.to_proto(resource.worker_config):
res.worker_config.CopyFrom(
ClusterConfigWorkerConfig.to_proto(resource.worker_config)
)
else:
res.ClearField("worker_config")
if ClusterConfigSecondaryWorkerConfig.to_proto(
resource.secondary_worker_config
):
res.secondary_worker_config.CopyFrom(
ClusterConfigSecondaryWorkerConfig.to_proto(
resource.secondary_worker_config
)
)
else:
res.ClearField("secondary_worker_config")
if ClusterConfigSoftwareConfig.to_proto(resource.software_config):
res.software_config.CopyFrom(
ClusterConfigSoftwareConfig.to_proto(resource.software_config)
)
else:
res.ClearField("software_config")
if ClusterConfigInitializationActionsArray.to_proto(
resource.initialization_actions
):
res.initialization_actions.extend(
ClusterConfigInitializationActionsArray.to_proto(
resource.initialization_actions
)
)
if ClusterConfigEncryptionConfig.to_proto(resource.encryption_config):
res.encryption_config.CopyFrom(
ClusterConfigEncryptionConfig.to_proto(resource.encryption_config)
)
else:
res.ClearField("encryption_config")
if ClusterConfigAutoscalingConfig.to_proto(resource.autoscaling_config):
res.autoscaling_config.CopyFrom(
ClusterConfigAutoscalingConfig.to_proto(resource.autoscaling_config)
)
else:
res.ClearField("autoscaling_config")
if ClusterConfigSecurityConfig.to_proto(resource.security_config):
res.security_config.CopyFrom(
ClusterConfigSecurityConfig.to_proto(resource.security_config)
)
else:
res.ClearField("security_config")
if ClusterConfigLifecycleConfig.to_proto(resource.lifecycle_config):
res.lifecycle_config.CopyFrom(
ClusterConfigLifecycleConfig.to_proto(resource.lifecycle_config)
)
else:
res.ClearField("lifecycle_config")
if ClusterConfigEndpointConfig.to_proto(resource.endpoint_config):
res.endpoint_config.CopyFrom(
ClusterConfigEndpointConfig.to_proto(resource.endpoint_config)
)
else:
res.ClearField("endpoint_config")
if ClusterConfigMetastoreConfig.to_proto(resource.metastore_config):
res.metastore_config.CopyFrom(
ClusterConfigMetastoreConfig.to_proto(resource.metastore_config)
)
else:
res.ClearField("metastore_config")
if ClusterConfigDataprocMetricConfig.to_proto(resource.dataproc_metric_config):
res.dataproc_metric_config.CopyFrom(
ClusterConfigDataprocMetricConfig.to_proto(
resource.dataproc_metric_config
)
)
else:
res.ClearField("dataproc_metric_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfig(
staging_bucket=Primitive.from_proto(resource.staging_bucket),
temp_bucket=Primitive.from_proto(resource.temp_bucket),
gce_cluster_config=ClusterConfigGceClusterConfig.from_proto(
resource.gce_cluster_config
),
master_config=ClusterConfigMasterConfig.from_proto(resource.master_config),
worker_config=ClusterConfigWorkerConfig.from_proto(resource.worker_config),
secondary_worker_config=ClusterConfigSecondaryWorkerConfig.from_proto(
resource.secondary_worker_config
),
software_config=ClusterConfigSoftwareConfig.from_proto(
resource.software_config
),
initialization_actions=ClusterConfigInitializationActionsArray.from_proto(
resource.initialization_actions
),
encryption_config=ClusterConfigEncryptionConfig.from_proto(
resource.encryption_config
),
autoscaling_config=ClusterConfigAutoscalingConfig.from_proto(
resource.autoscaling_config
),
security_config=ClusterConfigSecurityConfig.from_proto(
resource.security_config
),
lifecycle_config=ClusterConfigLifecycleConfig.from_proto(
resource.lifecycle_config
),
endpoint_config=ClusterConfigEndpointConfig.from_proto(
resource.endpoint_config
),
metastore_config=ClusterConfigMetastoreConfig.from_proto(
resource.metastore_config
),
dataproc_metric_config=ClusterConfigDataprocMetricConfig.from_proto(
resource.dataproc_metric_config
),
)
class ClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfig.from_proto(i) for i in resources]
class ClusterConfigGceClusterConfig(object):
def __init__(
self,
zone: str = None,
network: str = None,
subnetwork: str = None,
internal_ip_only: bool = None,
private_ipv6_google_access: str = None,
service_account: str = None,
service_account_scopes: list = None,
tags: list = None,
metadata: dict = None,
reservation_affinity: dict = None,
node_group_affinity: dict = None,
shielded_instance_config: dict = None,
confidential_instance_config: dict = None,
):
self.zone = zone
self.network = network
self.subnetwork = subnetwork
self.internal_ip_only = internal_ip_only
self.private_ipv6_google_access = private_ipv6_google_access
self.service_account = service_account
self.service_account_scopes = service_account_scopes
self.tags = tags
self.metadata = metadata
self.reservation_affinity = reservation_affinity
self.node_group_affinity = node_group_affinity
self.shielded_instance_config = shielded_instance_config
self.confidential_instance_config = confidential_instance_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigGceClusterConfig()
if Primitive.to_proto(resource.zone):
res.zone = Primitive.to_proto(resource.zone)
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.internal_ip_only):
res.internal_ip_only = Primitive.to_proto(resource.internal_ip_only)
if ClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.to_proto(
resource.private_ipv6_google_access
):
res.private_ipv6_google_access = (
ClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.to_proto(
resource.private_ipv6_google_access
)
)
if Primitive.to_proto(resource.service_account):
res.service_account = Primitive.to_proto(resource.service_account)
if Primitive.to_proto(resource.service_account_scopes):
res.service_account_scopes.extend(
Primitive.to_proto(resource.service_account_scopes)
)
if Primitive.to_proto(resource.tags):
res.tags.extend(Primitive.to_proto(resource.tags))
if Primitive.to_proto(resource.metadata):
res.metadata = Primitive.to_proto(resource.metadata)
if ClusterConfigGceClusterConfigReservationAffinity.to_proto(
resource.reservation_affinity
):
res.reservation_affinity.CopyFrom(
ClusterConfigGceClusterConfigReservationAffinity.to_proto(
resource.reservation_affinity
)
)
else:
res.ClearField("reservation_affinity")
if ClusterConfigGceClusterConfigNodeGroupAffinity.to_proto(
resource.node_group_affinity
):
res.node_group_affinity.CopyFrom(
ClusterConfigGceClusterConfigNodeGroupAffinity.to_proto(
resource.node_group_affinity
)
)
else:
res.ClearField("node_group_affinity")
if ClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
):
res.shielded_instance_config.CopyFrom(
ClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto(
resource.shielded_instance_config
)
)
else:
res.ClearField("shielded_instance_config")
if ClusterConfigGceClusterConfigConfidentialInstanceConfig.to_proto(
resource.confidential_instance_config
):
res.confidential_instance_config.CopyFrom(
ClusterConfigGceClusterConfigConfidentialInstanceConfig.to_proto(
resource.confidential_instance_config
)
)
else:
res.ClearField("confidential_instance_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigGceClusterConfig(
zone=Primitive.from_proto(resource.zone),
network=Primitive.from_proto(resource.network),
subnetwork=Primitive.from_proto(resource.subnetwork),
internal_ip_only=Primitive.from_proto(resource.internal_ip_only),
private_ipv6_google_access=ClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.from_proto(
resource.private_ipv6_google_access
),
service_account=Primitive.from_proto(resource.service_account),
service_account_scopes=Primitive.from_proto(
resource.service_account_scopes
),
tags=Primitive.from_proto(resource.tags),
metadata=Primitive.from_proto(resource.metadata),
reservation_affinity=ClusterConfigGceClusterConfigReservationAffinity.from_proto(
resource.reservation_affinity
),
node_group_affinity=ClusterConfigGceClusterConfigNodeGroupAffinity.from_proto(
resource.node_group_affinity
),
shielded_instance_config=ClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto(
resource.shielded_instance_config
),
confidential_instance_config=ClusterConfigGceClusterConfigConfidentialInstanceConfig.from_proto(
resource.confidential_instance_config
),
)
class ClusterConfigGceClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigGceClusterConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigGceClusterConfig.from_proto(i) for i in resources]
class ClusterConfigGceClusterConfigReservationAffinity(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.DataprocClusterConfigGceClusterConfigReservationAffinity()
if ClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.to_proto(
resource.consume_reservation_type
):
res.consume_reservation_type = ClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.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 ClusterConfigGceClusterConfigReservationAffinity(
consume_reservation_type=ClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.from_proto(
resource.consume_reservation_type
),
key=Primitive.from_proto(resource.key),
values=Primitive.from_proto(resource.values),
)
class ClusterConfigGceClusterConfigReservationAffinityArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigGceClusterConfigReservationAffinity.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigGceClusterConfigReservationAffinity.from_proto(i)
for i in resources
]
class ClusterConfigGceClusterConfigNodeGroupAffinity(object):
def __init__(self, node_group: str = None):
self.node_group = node_group
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigGceClusterConfigNodeGroupAffinity()
if Primitive.to_proto(resource.node_group):
res.node_group = Primitive.to_proto(resource.node_group)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigGceClusterConfigNodeGroupAffinity(
node_group=Primitive.from_proto(resource.node_group),
)
class ClusterConfigGceClusterConfigNodeGroupAffinityArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigGceClusterConfigNodeGroupAffinity.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigGceClusterConfigNodeGroupAffinity.from_proto(i)
for i in resources
]
class ClusterConfigGceClusterConfigShieldedInstanceConfig(object):
def __init__(
self,
enable_secure_boot: bool = None,
enable_vtpm: bool = None,
enable_integrity_monitoring: bool = None,
):
self.enable_secure_boot = enable_secure_boot
self.enable_vtpm = enable_vtpm
self.enable_integrity_monitoring = enable_integrity_monitoring
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigGceClusterConfigShieldedInstanceConfig()
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_vtpm):
res.enable_vtpm = Primitive.to_proto(resource.enable_vtpm)
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 ClusterConfigGceClusterConfigShieldedInstanceConfig(
enable_secure_boot=Primitive.from_proto(resource.enable_secure_boot),
enable_vtpm=Primitive.from_proto(resource.enable_vtpm),
enable_integrity_monitoring=Primitive.from_proto(
resource.enable_integrity_monitoring
),
)
class ClusterConfigGceClusterConfigShieldedInstanceConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto(i)
for i in resources
]
class ClusterConfigGceClusterConfigConfidentialInstanceConfig(object):
def __init__(self, enable_confidential_compute: bool = None):
self.enable_confidential_compute = enable_confidential_compute
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterConfigGceClusterConfigConfidentialInstanceConfig()
)
if Primitive.to_proto(resource.enable_confidential_compute):
res.enable_confidential_compute = Primitive.to_proto(
resource.enable_confidential_compute
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigGceClusterConfigConfidentialInstanceConfig(
enable_confidential_compute=Primitive.from_proto(
resource.enable_confidential_compute
),
)
class ClusterConfigGceClusterConfigConfidentialInstanceConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigGceClusterConfigConfidentialInstanceConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigGceClusterConfigConfidentialInstanceConfig.from_proto(i)
for i in resources
]
class ClusterConfigMasterConfig(object):
def __init__(
self,
num_instances: int = None,
instance_names: list = None,
image: str = None,
machine_type: str = None,
disk_config: dict = None,
is_preemptible: bool = None,
preemptibility: str = None,
managed_group_config: dict = None,
accelerators: list = None,
min_cpu_platform: str = None,
instance_references: list = None,
):
self.num_instances = num_instances
self.instance_names = instance_names
self.image = image
self.machine_type = machine_type
self.disk_config = disk_config
self.is_preemptible = is_preemptible
self.preemptibility = preemptibility
self.managed_group_config = managed_group_config
self.accelerators = accelerators
self.min_cpu_platform = min_cpu_platform
self.instance_references = instance_references
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMasterConfig()
if Primitive.to_proto(resource.num_instances):
res.num_instances = Primitive.to_proto(resource.num_instances)
if Primitive.to_proto(resource.instance_names):
res.instance_names.extend(Primitive.to_proto(resource.instance_names))
if Primitive.to_proto(resource.image):
res.image = Primitive.to_proto(resource.image)
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if ClusterConfigMasterConfigDiskConfig.to_proto(resource.disk_config):
res.disk_config.CopyFrom(
ClusterConfigMasterConfigDiskConfig.to_proto(resource.disk_config)
)
else:
res.ClearField("disk_config")
if Primitive.to_proto(resource.is_preemptible):
res.is_preemptible = Primitive.to_proto(resource.is_preemptible)
if ClusterConfigMasterConfigPreemptibilityEnum.to_proto(
resource.preemptibility
):
res.preemptibility = ClusterConfigMasterConfigPreemptibilityEnum.to_proto(
resource.preemptibility
)
if ClusterConfigMasterConfigManagedGroupConfig.to_proto(
resource.managed_group_config
):
res.managed_group_config.CopyFrom(
ClusterConfigMasterConfigManagedGroupConfig.to_proto(
resource.managed_group_config
)
)
else:
res.ClearField("managed_group_config")
if ClusterConfigMasterConfigAcceleratorsArray.to_proto(resource.accelerators):
res.accelerators.extend(
ClusterConfigMasterConfigAcceleratorsArray.to_proto(
resource.accelerators
)
)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if ClusterConfigMasterConfigInstanceReferencesArray.to_proto(
resource.instance_references
):
res.instance_references.extend(
ClusterConfigMasterConfigInstanceReferencesArray.to_proto(
resource.instance_references
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMasterConfig(
num_instances=Primitive.from_proto(resource.num_instances),
instance_names=Primitive.from_proto(resource.instance_names),
image=Primitive.from_proto(resource.image),
machine_type=Primitive.from_proto(resource.machine_type),
disk_config=ClusterConfigMasterConfigDiskConfig.from_proto(
resource.disk_config
),
is_preemptible=Primitive.from_proto(resource.is_preemptible),
preemptibility=ClusterConfigMasterConfigPreemptibilityEnum.from_proto(
resource.preemptibility
),
managed_group_config=ClusterConfigMasterConfigManagedGroupConfig.from_proto(
resource.managed_group_config
),
accelerators=ClusterConfigMasterConfigAcceleratorsArray.from_proto(
resource.accelerators
),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
instance_references=ClusterConfigMasterConfigInstanceReferencesArray.from_proto(
resource.instance_references
),
)
class ClusterConfigMasterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigMasterConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigMasterConfig.from_proto(i) for i in resources]
class ClusterConfigMasterConfigDiskConfig(object):
def __init__(
self,
boot_disk_type: str = None,
boot_disk_size_gb: int = None,
num_local_ssds: int = None,
local_ssd_interface: str = None,
):
self.boot_disk_type = boot_disk_type
self.boot_disk_size_gb = boot_disk_size_gb
self.num_local_ssds = num_local_ssds
self.local_ssd_interface = local_ssd_interface
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMasterConfigDiskConfig()
if Primitive.to_proto(resource.boot_disk_type):
res.boot_disk_type = Primitive.to_proto(resource.boot_disk_type)
if Primitive.to_proto(resource.boot_disk_size_gb):
res.boot_disk_size_gb = Primitive.to_proto(resource.boot_disk_size_gb)
if Primitive.to_proto(resource.num_local_ssds):
res.num_local_ssds = Primitive.to_proto(resource.num_local_ssds)
if Primitive.to_proto(resource.local_ssd_interface):
res.local_ssd_interface = Primitive.to_proto(resource.local_ssd_interface)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMasterConfigDiskConfig(
boot_disk_type=Primitive.from_proto(resource.boot_disk_type),
boot_disk_size_gb=Primitive.from_proto(resource.boot_disk_size_gb),
num_local_ssds=Primitive.from_proto(resource.num_local_ssds),
local_ssd_interface=Primitive.from_proto(resource.local_ssd_interface),
)
class ClusterConfigMasterConfigDiskConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigMasterConfigDiskConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigMasterConfigDiskConfig.from_proto(i) for i in resources]
class ClusterConfigMasterConfigManagedGroupConfig(object):
def __init__(
self,
instance_template_name: str = None,
instance_group_manager_name: str = None,
):
self.instance_template_name = instance_template_name
self.instance_group_manager_name = instance_group_manager_name
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMasterConfigManagedGroupConfig()
if Primitive.to_proto(resource.instance_template_name):
res.instance_template_name = Primitive.to_proto(
resource.instance_template_name
)
if Primitive.to_proto(resource.instance_group_manager_name):
res.instance_group_manager_name = Primitive.to_proto(
resource.instance_group_manager_name
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMasterConfigManagedGroupConfig(
instance_template_name=Primitive.from_proto(
resource.instance_template_name
),
instance_group_manager_name=Primitive.from_proto(
resource.instance_group_manager_name
),
)
class ClusterConfigMasterConfigManagedGroupConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigMasterConfigManagedGroupConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigMasterConfigManagedGroupConfig.from_proto(i) for i in resources
]
class ClusterConfigMasterConfigAccelerators(object):
def __init__(self, accelerator_type: str = None, accelerator_count: int = None):
self.accelerator_type = accelerator_type
self.accelerator_count = accelerator_count
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMasterConfigAccelerators()
if Primitive.to_proto(resource.accelerator_type):
res.accelerator_type = Primitive.to_proto(resource.accelerator_type)
if Primitive.to_proto(resource.accelerator_count):
res.accelerator_count = Primitive.to_proto(resource.accelerator_count)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMasterConfigAccelerators(
accelerator_type=Primitive.from_proto(resource.accelerator_type),
accelerator_count=Primitive.from_proto(resource.accelerator_count),
)
class ClusterConfigMasterConfigAcceleratorsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigMasterConfigAccelerators.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigMasterConfigAccelerators.from_proto(i) for i in resources]
class ClusterConfigMasterConfigInstanceReferences(object):
def __init__(
self,
instance_name: str = None,
instance_id: str = None,
public_key: str = None,
public_ecies_key: str = None,
):
self.instance_name = instance_name
self.instance_id = instance_id
self.public_key = public_key
self.public_ecies_key = public_ecies_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMasterConfigInstanceReferences()
if Primitive.to_proto(resource.instance_name):
res.instance_name = Primitive.to_proto(resource.instance_name)
if Primitive.to_proto(resource.instance_id):
res.instance_id = Primitive.to_proto(resource.instance_id)
if Primitive.to_proto(resource.public_key):
res.public_key = Primitive.to_proto(resource.public_key)
if Primitive.to_proto(resource.public_ecies_key):
res.public_ecies_key = Primitive.to_proto(resource.public_ecies_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMasterConfigInstanceReferences(
instance_name=Primitive.from_proto(resource.instance_name),
instance_id=Primitive.from_proto(resource.instance_id),
public_key=Primitive.from_proto(resource.public_key),
public_ecies_key=Primitive.from_proto(resource.public_ecies_key),
)
class ClusterConfigMasterConfigInstanceReferencesArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigMasterConfigInstanceReferences.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigMasterConfigInstanceReferences.from_proto(i) for i in resources
]
class ClusterConfigWorkerConfig(object):
def __init__(
self,
num_instances: int = None,
instance_names: list = None,
image: str = None,
machine_type: str = None,
disk_config: dict = None,
is_preemptible: bool = None,
preemptibility: str = None,
managed_group_config: dict = None,
accelerators: list = None,
min_cpu_platform: str = None,
instance_references: list = None,
):
self.num_instances = num_instances
self.instance_names = instance_names
self.image = image
self.machine_type = machine_type
self.disk_config = disk_config
self.is_preemptible = is_preemptible
self.preemptibility = preemptibility
self.managed_group_config = managed_group_config
self.accelerators = accelerators
self.min_cpu_platform = min_cpu_platform
self.instance_references = instance_references
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigWorkerConfig()
if Primitive.to_proto(resource.num_instances):
res.num_instances = Primitive.to_proto(resource.num_instances)
if Primitive.to_proto(resource.instance_names):
res.instance_names.extend(Primitive.to_proto(resource.instance_names))
if Primitive.to_proto(resource.image):
res.image = Primitive.to_proto(resource.image)
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if ClusterConfigWorkerConfigDiskConfig.to_proto(resource.disk_config):
res.disk_config.CopyFrom(
ClusterConfigWorkerConfigDiskConfig.to_proto(resource.disk_config)
)
else:
res.ClearField("disk_config")
if Primitive.to_proto(resource.is_preemptible):
res.is_preemptible = Primitive.to_proto(resource.is_preemptible)
if ClusterConfigWorkerConfigPreemptibilityEnum.to_proto(
resource.preemptibility
):
res.preemptibility = ClusterConfigWorkerConfigPreemptibilityEnum.to_proto(
resource.preemptibility
)
if ClusterConfigWorkerConfigManagedGroupConfig.to_proto(
resource.managed_group_config
):
res.managed_group_config.CopyFrom(
ClusterConfigWorkerConfigManagedGroupConfig.to_proto(
resource.managed_group_config
)
)
else:
res.ClearField("managed_group_config")
if ClusterConfigWorkerConfigAcceleratorsArray.to_proto(resource.accelerators):
res.accelerators.extend(
ClusterConfigWorkerConfigAcceleratorsArray.to_proto(
resource.accelerators
)
)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if ClusterConfigWorkerConfigInstanceReferencesArray.to_proto(
resource.instance_references
):
res.instance_references.extend(
ClusterConfigWorkerConfigInstanceReferencesArray.to_proto(
resource.instance_references
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigWorkerConfig(
num_instances=Primitive.from_proto(resource.num_instances),
instance_names=Primitive.from_proto(resource.instance_names),
image=Primitive.from_proto(resource.image),
machine_type=Primitive.from_proto(resource.machine_type),
disk_config=ClusterConfigWorkerConfigDiskConfig.from_proto(
resource.disk_config
),
is_preemptible=Primitive.from_proto(resource.is_preemptible),
preemptibility=ClusterConfigWorkerConfigPreemptibilityEnum.from_proto(
resource.preemptibility
),
managed_group_config=ClusterConfigWorkerConfigManagedGroupConfig.from_proto(
resource.managed_group_config
),
accelerators=ClusterConfigWorkerConfigAcceleratorsArray.from_proto(
resource.accelerators
),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
instance_references=ClusterConfigWorkerConfigInstanceReferencesArray.from_proto(
resource.instance_references
),
)
class ClusterConfigWorkerConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigWorkerConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigWorkerConfig.from_proto(i) for i in resources]
class ClusterConfigWorkerConfigDiskConfig(object):
def __init__(
self,
boot_disk_type: str = None,
boot_disk_size_gb: int = None,
num_local_ssds: int = None,
local_ssd_interface: str = None,
):
self.boot_disk_type = boot_disk_type
self.boot_disk_size_gb = boot_disk_size_gb
self.num_local_ssds = num_local_ssds
self.local_ssd_interface = local_ssd_interface
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigWorkerConfigDiskConfig()
if Primitive.to_proto(resource.boot_disk_type):
res.boot_disk_type = Primitive.to_proto(resource.boot_disk_type)
if Primitive.to_proto(resource.boot_disk_size_gb):
res.boot_disk_size_gb = Primitive.to_proto(resource.boot_disk_size_gb)
if Primitive.to_proto(resource.num_local_ssds):
res.num_local_ssds = Primitive.to_proto(resource.num_local_ssds)
if Primitive.to_proto(resource.local_ssd_interface):
res.local_ssd_interface = Primitive.to_proto(resource.local_ssd_interface)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigWorkerConfigDiskConfig(
boot_disk_type=Primitive.from_proto(resource.boot_disk_type),
boot_disk_size_gb=Primitive.from_proto(resource.boot_disk_size_gb),
num_local_ssds=Primitive.from_proto(resource.num_local_ssds),
local_ssd_interface=Primitive.from_proto(resource.local_ssd_interface),
)
class ClusterConfigWorkerConfigDiskConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigWorkerConfigDiskConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigWorkerConfigDiskConfig.from_proto(i) for i in resources]
class ClusterConfigWorkerConfigManagedGroupConfig(object):
def __init__(
self,
instance_template_name: str = None,
instance_group_manager_name: str = None,
):
self.instance_template_name = instance_template_name
self.instance_group_manager_name = instance_group_manager_name
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigWorkerConfigManagedGroupConfig()
if Primitive.to_proto(resource.instance_template_name):
res.instance_template_name = Primitive.to_proto(
resource.instance_template_name
)
if Primitive.to_proto(resource.instance_group_manager_name):
res.instance_group_manager_name = Primitive.to_proto(
resource.instance_group_manager_name
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigWorkerConfigManagedGroupConfig(
instance_template_name=Primitive.from_proto(
resource.instance_template_name
),
instance_group_manager_name=Primitive.from_proto(
resource.instance_group_manager_name
),
)
class ClusterConfigWorkerConfigManagedGroupConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigWorkerConfigManagedGroupConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigWorkerConfigManagedGroupConfig.from_proto(i) for i in resources
]
class ClusterConfigWorkerConfigAccelerators(object):
def __init__(self, accelerator_type: str = None, accelerator_count: int = None):
self.accelerator_type = accelerator_type
self.accelerator_count = accelerator_count
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigWorkerConfigAccelerators()
if Primitive.to_proto(resource.accelerator_type):
res.accelerator_type = Primitive.to_proto(resource.accelerator_type)
if Primitive.to_proto(resource.accelerator_count):
res.accelerator_count = Primitive.to_proto(resource.accelerator_count)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigWorkerConfigAccelerators(
accelerator_type=Primitive.from_proto(resource.accelerator_type),
accelerator_count=Primitive.from_proto(resource.accelerator_count),
)
class ClusterConfigWorkerConfigAcceleratorsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigWorkerConfigAccelerators.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigWorkerConfigAccelerators.from_proto(i) for i in resources]
class ClusterConfigWorkerConfigInstanceReferences(object):
def __init__(
self,
instance_name: str = None,
instance_id: str = None,
public_key: str = None,
public_ecies_key: str = None,
):
self.instance_name = instance_name
self.instance_id = instance_id
self.public_key = public_key
self.public_ecies_key = public_ecies_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigWorkerConfigInstanceReferences()
if Primitive.to_proto(resource.instance_name):
res.instance_name = Primitive.to_proto(resource.instance_name)
if Primitive.to_proto(resource.instance_id):
res.instance_id = Primitive.to_proto(resource.instance_id)
if Primitive.to_proto(resource.public_key):
res.public_key = Primitive.to_proto(resource.public_key)
if Primitive.to_proto(resource.public_ecies_key):
res.public_ecies_key = Primitive.to_proto(resource.public_ecies_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigWorkerConfigInstanceReferences(
instance_name=Primitive.from_proto(resource.instance_name),
instance_id=Primitive.from_proto(resource.instance_id),
public_key=Primitive.from_proto(resource.public_key),
public_ecies_key=Primitive.from_proto(resource.public_ecies_key),
)
class ClusterConfigWorkerConfigInstanceReferencesArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigWorkerConfigInstanceReferences.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigWorkerConfigInstanceReferences.from_proto(i) for i in resources
]
class ClusterConfigSecondaryWorkerConfig(object):
def __init__(
self,
num_instances: int = None,
instance_names: list = None,
image: str = None,
machine_type: str = None,
disk_config: dict = None,
is_preemptible: bool = None,
preemptibility: str = None,
managed_group_config: dict = None,
accelerators: list = None,
min_cpu_platform: str = None,
instance_references: list = None,
):
self.num_instances = num_instances
self.instance_names = instance_names
self.image = image
self.machine_type = machine_type
self.disk_config = disk_config
self.is_preemptible = is_preemptible
self.preemptibility = preemptibility
self.managed_group_config = managed_group_config
self.accelerators = accelerators
self.min_cpu_platform = min_cpu_platform
self.instance_references = instance_references
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecondaryWorkerConfig()
if Primitive.to_proto(resource.num_instances):
res.num_instances = Primitive.to_proto(resource.num_instances)
if Primitive.to_proto(resource.instance_names):
res.instance_names.extend(Primitive.to_proto(resource.instance_names))
if Primitive.to_proto(resource.image):
res.image = Primitive.to_proto(resource.image)
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if ClusterConfigSecondaryWorkerConfigDiskConfig.to_proto(resource.disk_config):
res.disk_config.CopyFrom(
ClusterConfigSecondaryWorkerConfigDiskConfig.to_proto(
resource.disk_config
)
)
else:
res.ClearField("disk_config")
if Primitive.to_proto(resource.is_preemptible):
res.is_preemptible = Primitive.to_proto(resource.is_preemptible)
if ClusterConfigSecondaryWorkerConfigPreemptibilityEnum.to_proto(
resource.preemptibility
):
res.preemptibility = (
ClusterConfigSecondaryWorkerConfigPreemptibilityEnum.to_proto(
resource.preemptibility
)
)
if ClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto(
resource.managed_group_config
):
res.managed_group_config.CopyFrom(
ClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto(
resource.managed_group_config
)
)
else:
res.ClearField("managed_group_config")
if ClusterConfigSecondaryWorkerConfigAcceleratorsArray.to_proto(
resource.accelerators
):
res.accelerators.extend(
ClusterConfigSecondaryWorkerConfigAcceleratorsArray.to_proto(
resource.accelerators
)
)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if ClusterConfigSecondaryWorkerConfigInstanceReferencesArray.to_proto(
resource.instance_references
):
res.instance_references.extend(
ClusterConfigSecondaryWorkerConfigInstanceReferencesArray.to_proto(
resource.instance_references
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecondaryWorkerConfig(
num_instances=Primitive.from_proto(resource.num_instances),
instance_names=Primitive.from_proto(resource.instance_names),
image=Primitive.from_proto(resource.image),
machine_type=Primitive.from_proto(resource.machine_type),
disk_config=ClusterConfigSecondaryWorkerConfigDiskConfig.from_proto(
resource.disk_config
),
is_preemptible=Primitive.from_proto(resource.is_preemptible),
preemptibility=ClusterConfigSecondaryWorkerConfigPreemptibilityEnum.from_proto(
resource.preemptibility
),
managed_group_config=ClusterConfigSecondaryWorkerConfigManagedGroupConfig.from_proto(
resource.managed_group_config
),
accelerators=ClusterConfigSecondaryWorkerConfigAcceleratorsArray.from_proto(
resource.accelerators
),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
instance_references=ClusterConfigSecondaryWorkerConfigInstanceReferencesArray.from_proto(
resource.instance_references
),
)
class ClusterConfigSecondaryWorkerConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigSecondaryWorkerConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigSecondaryWorkerConfig.from_proto(i) for i in resources]
class ClusterConfigSecondaryWorkerConfigDiskConfig(object):
def __init__(
self,
boot_disk_type: str = None,
boot_disk_size_gb: int = None,
num_local_ssds: int = None,
local_ssd_interface: str = None,
):
self.boot_disk_type = boot_disk_type
self.boot_disk_size_gb = boot_disk_size_gb
self.num_local_ssds = num_local_ssds
self.local_ssd_interface = local_ssd_interface
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigDiskConfig()
if Primitive.to_proto(resource.boot_disk_type):
res.boot_disk_type = Primitive.to_proto(resource.boot_disk_type)
if Primitive.to_proto(resource.boot_disk_size_gb):
res.boot_disk_size_gb = Primitive.to_proto(resource.boot_disk_size_gb)
if Primitive.to_proto(resource.num_local_ssds):
res.num_local_ssds = Primitive.to_proto(resource.num_local_ssds)
if Primitive.to_proto(resource.local_ssd_interface):
res.local_ssd_interface = Primitive.to_proto(resource.local_ssd_interface)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecondaryWorkerConfigDiskConfig(
boot_disk_type=Primitive.from_proto(resource.boot_disk_type),
boot_disk_size_gb=Primitive.from_proto(resource.boot_disk_size_gb),
num_local_ssds=Primitive.from_proto(resource.num_local_ssds),
local_ssd_interface=Primitive.from_proto(resource.local_ssd_interface),
)
class ClusterConfigSecondaryWorkerConfigDiskConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecondaryWorkerConfigDiskConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecondaryWorkerConfigDiskConfig.from_proto(i)
for i in resources
]
class ClusterConfigSecondaryWorkerConfigManagedGroupConfig(object):
def __init__(
self,
instance_template_name: str = None,
instance_group_manager_name: str = None,
):
self.instance_template_name = instance_template_name
self.instance_group_manager_name = instance_group_manager_name
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigManagedGroupConfig()
if Primitive.to_proto(resource.instance_template_name):
res.instance_template_name = Primitive.to_proto(
resource.instance_template_name
)
if Primitive.to_proto(resource.instance_group_manager_name):
res.instance_group_manager_name = Primitive.to_proto(
resource.instance_group_manager_name
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecondaryWorkerConfigManagedGroupConfig(
instance_template_name=Primitive.from_proto(
resource.instance_template_name
),
instance_group_manager_name=Primitive.from_proto(
resource.instance_group_manager_name
),
)
class ClusterConfigSecondaryWorkerConfigManagedGroupConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecondaryWorkerConfigManagedGroupConfig.from_proto(i)
for i in resources
]
class ClusterConfigSecondaryWorkerConfigAccelerators(object):
def __init__(self, accelerator_type: str = None, accelerator_count: int = None):
self.accelerator_type = accelerator_type
self.accelerator_count = accelerator_count
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigAccelerators()
if Primitive.to_proto(resource.accelerator_type):
res.accelerator_type = Primitive.to_proto(resource.accelerator_type)
if Primitive.to_proto(resource.accelerator_count):
res.accelerator_count = Primitive.to_proto(resource.accelerator_count)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecondaryWorkerConfigAccelerators(
accelerator_type=Primitive.from_proto(resource.accelerator_type),
accelerator_count=Primitive.from_proto(resource.accelerator_count),
)
class ClusterConfigSecondaryWorkerConfigAcceleratorsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecondaryWorkerConfigAccelerators.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecondaryWorkerConfigAccelerators.from_proto(i)
for i in resources
]
class ClusterConfigSecondaryWorkerConfigInstanceReferences(object):
def __init__(
self,
instance_name: str = None,
instance_id: str = None,
public_key: str = None,
public_ecies_key: str = None,
):
self.instance_name = instance_name
self.instance_id = instance_id
self.public_key = public_key
self.public_ecies_key = public_ecies_key
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigInstanceReferences()
if Primitive.to_proto(resource.instance_name):
res.instance_name = Primitive.to_proto(resource.instance_name)
if Primitive.to_proto(resource.instance_id):
res.instance_id = Primitive.to_proto(resource.instance_id)
if Primitive.to_proto(resource.public_key):
res.public_key = Primitive.to_proto(resource.public_key)
if Primitive.to_proto(resource.public_ecies_key):
res.public_ecies_key = Primitive.to_proto(resource.public_ecies_key)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecondaryWorkerConfigInstanceReferences(
instance_name=Primitive.from_proto(resource.instance_name),
instance_id=Primitive.from_proto(resource.instance_id),
public_key=Primitive.from_proto(resource.public_key),
public_ecies_key=Primitive.from_proto(resource.public_ecies_key),
)
class ClusterConfigSecondaryWorkerConfigInstanceReferencesArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecondaryWorkerConfigInstanceReferences.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecondaryWorkerConfigInstanceReferences.from_proto(i)
for i in resources
]
class ClusterConfigSoftwareConfig(object):
def __init__(
self,
image_version: str = None,
properties: dict = None,
optional_components: list = None,
):
self.image_version = image_version
self.properties = properties
self.optional_components = optional_components
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSoftwareConfig()
if Primitive.to_proto(resource.image_version):
res.image_version = Primitive.to_proto(resource.image_version)
if Primitive.to_proto(resource.properties):
res.properties = Primitive.to_proto(resource.properties)
if ClusterConfigSoftwareConfigOptionalComponentsEnumArray.to_proto(
resource.optional_components
):
res.optional_components.extend(
ClusterConfigSoftwareConfigOptionalComponentsEnumArray.to_proto(
resource.optional_components
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSoftwareConfig(
image_version=Primitive.from_proto(resource.image_version),
properties=Primitive.from_proto(resource.properties),
optional_components=ClusterConfigSoftwareConfigOptionalComponentsEnumArray.from_proto(
resource.optional_components
),
)
class ClusterConfigSoftwareConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigSoftwareConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigSoftwareConfig.from_proto(i) for i in resources]
class ClusterConfigInitializationActions(object):
def __init__(self, executable_file: str = None, execution_timeout: str = None):
self.executable_file = executable_file
self.execution_timeout = execution_timeout
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigInitializationActions()
if Primitive.to_proto(resource.executable_file):
res.executable_file = Primitive.to_proto(resource.executable_file)
if Primitive.to_proto(resource.execution_timeout):
res.execution_timeout = Primitive.to_proto(resource.execution_timeout)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigInitializationActions(
executable_file=Primitive.from_proto(resource.executable_file),
execution_timeout=Primitive.from_proto(resource.execution_timeout),
)
class ClusterConfigInitializationActionsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigInitializationActions.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigInitializationActions.from_proto(i) for i in resources]
class ClusterConfigEncryptionConfig(object):
def __init__(self, gce_pd_kms_key_name: str = None):
self.gce_pd_kms_key_name = gce_pd_kms_key_name
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigEncryptionConfig()
if Primitive.to_proto(resource.gce_pd_kms_key_name):
res.gce_pd_kms_key_name = Primitive.to_proto(resource.gce_pd_kms_key_name)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigEncryptionConfig(
gce_pd_kms_key_name=Primitive.from_proto(resource.gce_pd_kms_key_name),
)
class ClusterConfigEncryptionConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigEncryptionConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigEncryptionConfig.from_proto(i) for i in resources]
class ClusterConfigAutoscalingConfig(object):
def __init__(self, policy: str = None):
self.policy = policy
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigAutoscalingConfig()
if Primitive.to_proto(resource.policy):
res.policy = Primitive.to_proto(resource.policy)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigAutoscalingConfig(
policy=Primitive.from_proto(resource.policy),
)
class ClusterConfigAutoscalingConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigAutoscalingConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigAutoscalingConfig.from_proto(i) for i in resources]
class ClusterConfigSecurityConfig(object):
def __init__(self, kerberos_config: dict = None, identity_config: dict = None):
self.kerberos_config = kerberos_config
self.identity_config = identity_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecurityConfig()
if ClusterConfigSecurityConfigKerberosConfig.to_proto(resource.kerberos_config):
res.kerberos_config.CopyFrom(
ClusterConfigSecurityConfigKerberosConfig.to_proto(
resource.kerberos_config
)
)
else:
res.ClearField("kerberos_config")
if ClusterConfigSecurityConfigIdentityConfig.to_proto(resource.identity_config):
res.identity_config.CopyFrom(
ClusterConfigSecurityConfigIdentityConfig.to_proto(
resource.identity_config
)
)
else:
res.ClearField("identity_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecurityConfig(
kerberos_config=ClusterConfigSecurityConfigKerberosConfig.from_proto(
resource.kerberos_config
),
identity_config=ClusterConfigSecurityConfigIdentityConfig.from_proto(
resource.identity_config
),
)
class ClusterConfigSecurityConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigSecurityConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigSecurityConfig.from_proto(i) for i in resources]
class ClusterConfigSecurityConfigKerberosConfig(object):
def __init__(
self,
enable_kerberos: bool = None,
root_principal_password: str = None,
kms_key: str = None,
keystore: str = None,
truststore: str = None,
keystore_password: str = None,
key_password: str = None,
truststore_password: str = None,
cross_realm_trust_realm: str = None,
cross_realm_trust_kdc: str = None,
cross_realm_trust_admin_server: str = None,
cross_realm_trust_shared_password: str = None,
kdc_db_key: str = None,
tgt_lifetime_hours: int = None,
realm: str = None,
):
self.enable_kerberos = enable_kerberos
self.root_principal_password = root_principal_password
self.kms_key = kms_key
self.keystore = keystore
self.truststore = truststore
self.keystore_password = keystore_password
self.key_password = key_password
self.truststore_password = truststore_password
self.cross_realm_trust_realm = cross_realm_trust_realm
self.cross_realm_trust_kdc = cross_realm_trust_kdc
self.cross_realm_trust_admin_server = cross_realm_trust_admin_server
self.cross_realm_trust_shared_password = cross_realm_trust_shared_password
self.kdc_db_key = kdc_db_key
self.tgt_lifetime_hours = tgt_lifetime_hours
self.realm = realm
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecurityConfigKerberosConfig()
if Primitive.to_proto(resource.enable_kerberos):
res.enable_kerberos = Primitive.to_proto(resource.enable_kerberos)
if Primitive.to_proto(resource.root_principal_password):
res.root_principal_password = Primitive.to_proto(
resource.root_principal_password
)
if Primitive.to_proto(resource.kms_key):
res.kms_key = Primitive.to_proto(resource.kms_key)
if Primitive.to_proto(resource.keystore):
res.keystore = Primitive.to_proto(resource.keystore)
if Primitive.to_proto(resource.truststore):
res.truststore = Primitive.to_proto(resource.truststore)
if Primitive.to_proto(resource.keystore_password):
res.keystore_password = Primitive.to_proto(resource.keystore_password)
if Primitive.to_proto(resource.key_password):
res.key_password = Primitive.to_proto(resource.key_password)
if Primitive.to_proto(resource.truststore_password):
res.truststore_password = Primitive.to_proto(resource.truststore_password)
if Primitive.to_proto(resource.cross_realm_trust_realm):
res.cross_realm_trust_realm = Primitive.to_proto(
resource.cross_realm_trust_realm
)
if Primitive.to_proto(resource.cross_realm_trust_kdc):
res.cross_realm_trust_kdc = Primitive.to_proto(
resource.cross_realm_trust_kdc
)
if Primitive.to_proto(resource.cross_realm_trust_admin_server):
res.cross_realm_trust_admin_server = Primitive.to_proto(
resource.cross_realm_trust_admin_server
)
if Primitive.to_proto(resource.cross_realm_trust_shared_password):
res.cross_realm_trust_shared_password = Primitive.to_proto(
resource.cross_realm_trust_shared_password
)
if Primitive.to_proto(resource.kdc_db_key):
res.kdc_db_key = Primitive.to_proto(resource.kdc_db_key)
if Primitive.to_proto(resource.tgt_lifetime_hours):
res.tgt_lifetime_hours = Primitive.to_proto(resource.tgt_lifetime_hours)
if Primitive.to_proto(resource.realm):
res.realm = Primitive.to_proto(resource.realm)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecurityConfigKerberosConfig(
enable_kerberos=Primitive.from_proto(resource.enable_kerberos),
root_principal_password=Primitive.from_proto(
resource.root_principal_password
),
kms_key=Primitive.from_proto(resource.kms_key),
keystore=Primitive.from_proto(resource.keystore),
truststore=Primitive.from_proto(resource.truststore),
keystore_password=Primitive.from_proto(resource.keystore_password),
key_password=Primitive.from_proto(resource.key_password),
truststore_password=Primitive.from_proto(resource.truststore_password),
cross_realm_trust_realm=Primitive.from_proto(
resource.cross_realm_trust_realm
),
cross_realm_trust_kdc=Primitive.from_proto(resource.cross_realm_trust_kdc),
cross_realm_trust_admin_server=Primitive.from_proto(
resource.cross_realm_trust_admin_server
),
cross_realm_trust_shared_password=Primitive.from_proto(
resource.cross_realm_trust_shared_password
),
kdc_db_key=Primitive.from_proto(resource.kdc_db_key),
tgt_lifetime_hours=Primitive.from_proto(resource.tgt_lifetime_hours),
realm=Primitive.from_proto(resource.realm),
)
class ClusterConfigSecurityConfigKerberosConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecurityConfigKerberosConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecurityConfigKerberosConfig.from_proto(i) for i in resources
]
class ClusterConfigSecurityConfigIdentityConfig(object):
def __init__(self, user_service_account_mapping: dict = None):
self.user_service_account_mapping = user_service_account_mapping
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigSecurityConfigIdentityConfig()
if Primitive.to_proto(resource.user_service_account_mapping):
res.user_service_account_mapping = Primitive.to_proto(
resource.user_service_account_mapping
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigSecurityConfigIdentityConfig(
user_service_account_mapping=Primitive.from_proto(
resource.user_service_account_mapping
),
)
class ClusterConfigSecurityConfigIdentityConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterConfigSecurityConfigIdentityConfig.to_proto(i) for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigSecurityConfigIdentityConfig.from_proto(i) for i in resources
]
class ClusterConfigLifecycleConfig(object):
def __init__(
self,
idle_delete_ttl: str = None,
auto_delete_time: str = None,
auto_delete_ttl: str = None,
idle_start_time: str = None,
):
self.idle_delete_ttl = idle_delete_ttl
self.auto_delete_time = auto_delete_time
self.auto_delete_ttl = auto_delete_ttl
self.idle_start_time = idle_start_time
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigLifecycleConfig()
if Primitive.to_proto(resource.idle_delete_ttl):
res.idle_delete_ttl = Primitive.to_proto(resource.idle_delete_ttl)
if Primitive.to_proto(resource.auto_delete_time):
res.auto_delete_time = Primitive.to_proto(resource.auto_delete_time)
if Primitive.to_proto(resource.auto_delete_ttl):
res.auto_delete_ttl = Primitive.to_proto(resource.auto_delete_ttl)
if Primitive.to_proto(resource.idle_start_time):
res.idle_start_time = Primitive.to_proto(resource.idle_start_time)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigLifecycleConfig(
idle_delete_ttl=Primitive.from_proto(resource.idle_delete_ttl),
auto_delete_time=Primitive.from_proto(resource.auto_delete_time),
auto_delete_ttl=Primitive.from_proto(resource.auto_delete_ttl),
idle_start_time=Primitive.from_proto(resource.idle_start_time),
)
class ClusterConfigLifecycleConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigLifecycleConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigLifecycleConfig.from_proto(i) for i in resources]
class ClusterConfigEndpointConfig(object):
def __init__(self, http_ports: dict = None, enable_http_port_access: bool = None):
self.http_ports = http_ports
self.enable_http_port_access = enable_http_port_access
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigEndpointConfig()
if Primitive.to_proto(resource.http_ports):
res.http_ports = Primitive.to_proto(resource.http_ports)
if Primitive.to_proto(resource.enable_http_port_access):
res.enable_http_port_access = Primitive.to_proto(
resource.enable_http_port_access
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigEndpointConfig(
http_ports=Primitive.from_proto(resource.http_ports),
enable_http_port_access=Primitive.from_proto(
resource.enable_http_port_access
),
)
class ClusterConfigEndpointConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigEndpointConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigEndpointConfig.from_proto(i) for i in resources]
class ClusterConfigMetastoreConfig(object):
def __init__(self, dataproc_metastore_service: str = None):
self.dataproc_metastore_service = dataproc_metastore_service
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigMetastoreConfig()
if Primitive.to_proto(resource.dataproc_metastore_service):
res.dataproc_metastore_service = Primitive.to_proto(
resource.dataproc_metastore_service
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigMetastoreConfig(
dataproc_metastore_service=Primitive.from_proto(
resource.dataproc_metastore_service
),
)
class ClusterConfigMetastoreConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigMetastoreConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigMetastoreConfig.from_proto(i) for i in resources]
class ClusterConfigDataprocMetricConfig(object):
def __init__(self, metrics: list = None):
self.metrics = metrics
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigDataprocMetricConfig()
if ClusterConfigDataprocMetricConfigMetricsArray.to_proto(resource.metrics):
res.metrics.extend(
ClusterConfigDataprocMetricConfigMetricsArray.to_proto(resource.metrics)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigDataprocMetricConfig(
metrics=ClusterConfigDataprocMetricConfigMetricsArray.from_proto(
resource.metrics
),
)
class ClusterConfigDataprocMetricConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigDataprocMetricConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterConfigDataprocMetricConfig.from_proto(i) for i in resources]
class ClusterConfigDataprocMetricConfigMetrics(object):
def __init__(self, metric_source: str = None, metric_overrides: list = None):
self.metric_source = metric_source
self.metric_overrides = metric_overrides
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterConfigDataprocMetricConfigMetrics()
if ClusterConfigDataprocMetricConfigMetricsMetricSourceEnum.to_proto(
resource.metric_source
):
res.metric_source = (
ClusterConfigDataprocMetricConfigMetricsMetricSourceEnum.to_proto(
resource.metric_source
)
)
if Primitive.to_proto(resource.metric_overrides):
res.metric_overrides.extend(Primitive.to_proto(resource.metric_overrides))
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterConfigDataprocMetricConfigMetrics(
metric_source=ClusterConfigDataprocMetricConfigMetricsMetricSourceEnum.from_proto(
resource.metric_source
),
metric_overrides=Primitive.from_proto(resource.metric_overrides),
)
class ClusterConfigDataprocMetricConfigMetricsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterConfigDataprocMetricConfigMetrics.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [
ClusterConfigDataprocMetricConfigMetrics.from_proto(i) for i in resources
]
class ClusterStatus(object):
def __init__(
self,
state: str = None,
detail: str = None,
state_start_time: str = None,
substate: str = None,
):
self.state = state
self.detail = detail
self.state_start_time = state_start_time
self.substate = substate
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterStatus()
if ClusterStatusStateEnum.to_proto(resource.state):
res.state = ClusterStatusStateEnum.to_proto(resource.state)
if Primitive.to_proto(resource.detail):
res.detail = Primitive.to_proto(resource.detail)
if Primitive.to_proto(resource.state_start_time):
res.state_start_time = Primitive.to_proto(resource.state_start_time)
if ClusterStatusSubstateEnum.to_proto(resource.substate):
res.substate = ClusterStatusSubstateEnum.to_proto(resource.substate)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterStatus(
state=ClusterStatusStateEnum.from_proto(resource.state),
detail=Primitive.from_proto(resource.detail),
state_start_time=Primitive.from_proto(resource.state_start_time),
substate=ClusterStatusSubstateEnum.from_proto(resource.substate),
)
class ClusterStatusArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterStatus.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterStatus.from_proto(i) for i in resources]
class ClusterStatusHistory(object):
def __init__(
self,
state: str = None,
detail: str = None,
state_start_time: str = None,
substate: str = None,
):
self.state = state
self.detail = detail
self.state_start_time = state_start_time
self.substate = substate
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterStatusHistory()
if ClusterStatusHistoryStateEnum.to_proto(resource.state):
res.state = ClusterStatusHistoryStateEnum.to_proto(resource.state)
if Primitive.to_proto(resource.detail):
res.detail = Primitive.to_proto(resource.detail)
if Primitive.to_proto(resource.state_start_time):
res.state_start_time = Primitive.to_proto(resource.state_start_time)
if ClusterStatusHistorySubstateEnum.to_proto(resource.substate):
res.substate = ClusterStatusHistorySubstateEnum.to_proto(resource.substate)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterStatusHistory(
state=ClusterStatusHistoryStateEnum.from_proto(resource.state),
detail=Primitive.from_proto(resource.detail),
state_start_time=Primitive.from_proto(resource.state_start_time),
substate=ClusterStatusHistorySubstateEnum.from_proto(resource.substate),
)
class ClusterStatusHistoryArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterStatusHistory.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterStatusHistory.from_proto(i) for i in resources]
class ClusterMetrics(object):
def __init__(self, hdfs_metrics: dict = None, yarn_metrics: dict = None):
self.hdfs_metrics = hdfs_metrics
self.yarn_metrics = yarn_metrics
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterMetrics()
if Primitive.to_proto(resource.hdfs_metrics):
res.hdfs_metrics = Primitive.to_proto(resource.hdfs_metrics)
if Primitive.to_proto(resource.yarn_metrics):
res.yarn_metrics = Primitive.to_proto(resource.yarn_metrics)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterMetrics(
hdfs_metrics=Primitive.from_proto(resource.hdfs_metrics),
yarn_metrics=Primitive.from_proto(resource.yarn_metrics),
)
class ClusterMetricsArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterMetrics.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterMetrics.from_proto(i) for i in resources]
class ClusterVirtualClusterConfig(object):
def __init__(
self,
staging_bucket: str = None,
kubernetes_cluster_config: dict = None,
auxiliary_services_config: dict = None,
):
self.staging_bucket = staging_bucket
self.kubernetes_cluster_config = kubernetes_cluster_config
self.auxiliary_services_config = auxiliary_services_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterVirtualClusterConfig()
if Primitive.to_proto(resource.staging_bucket):
res.staging_bucket = Primitive.to_proto(resource.staging_bucket)
if ClusterVirtualClusterConfigKubernetesClusterConfig.to_proto(
resource.kubernetes_cluster_config
):
res.kubernetes_cluster_config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfig.to_proto(
resource.kubernetes_cluster_config
)
)
else:
res.ClearField("kubernetes_cluster_config")
if ClusterVirtualClusterConfigAuxiliaryServicesConfig.to_proto(
resource.auxiliary_services_config
):
res.auxiliary_services_config.CopyFrom(
ClusterVirtualClusterConfigAuxiliaryServicesConfig.to_proto(
resource.auxiliary_services_config
)
)
else:
res.ClearField("auxiliary_services_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfig(
staging_bucket=Primitive.from_proto(resource.staging_bucket),
kubernetes_cluster_config=ClusterVirtualClusterConfigKubernetesClusterConfig.from_proto(
resource.kubernetes_cluster_config
),
auxiliary_services_config=ClusterVirtualClusterConfigAuxiliaryServicesConfig.from_proto(
resource.auxiliary_services_config
),
)
class ClusterVirtualClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [ClusterVirtualClusterConfig.to_proto(i) for i in resources]
@classmethod
def from_proto(self, resources):
return [ClusterVirtualClusterConfig.from_proto(i) for i in resources]
class ClusterVirtualClusterConfigKubernetesClusterConfig(object):
def __init__(
self,
kubernetes_namespace: str = None,
gke_cluster_config: dict = None,
kubernetes_software_config: dict = None,
):
self.kubernetes_namespace = kubernetes_namespace
self.gke_cluster_config = gke_cluster_config
self.kubernetes_software_config = kubernetes_software_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfig()
if Primitive.to_proto(resource.kubernetes_namespace):
res.kubernetes_namespace = Primitive.to_proto(resource.kubernetes_namespace)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.to_proto(
resource.gke_cluster_config
):
res.gke_cluster_config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.to_proto(
resource.gke_cluster_config
)
)
else:
res.ClearField("gke_cluster_config")
if ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.to_proto(
resource.kubernetes_software_config
):
res.kubernetes_software_config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.to_proto(
resource.kubernetes_software_config
)
)
else:
res.ClearField("kubernetes_software_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfig(
kubernetes_namespace=Primitive.from_proto(resource.kubernetes_namespace),
gke_cluster_config=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.from_proto(
resource.gke_cluster_config
),
kubernetes_software_config=ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.from_proto(
resource.kubernetes_software_config
),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfig.from_proto(i)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig(object):
def __init__(self, gke_cluster_target: str = None, node_pool_target: list = None):
self.gke_cluster_target = gke_cluster_target
self.node_pool_target = node_pool_target
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig()
)
if Primitive.to_proto(resource.gke_cluster_target):
res.gke_cluster_target = Primitive.to_proto(resource.gke_cluster_target)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetArray.to_proto(
resource.node_pool_target
):
res.node_pool_target.extend(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetArray.to_proto(
resource.node_pool_target
)
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig(
gke_cluster_target=Primitive.from_proto(resource.gke_cluster_target),
node_pool_target=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetArray.from_proto(
resource.node_pool_target
),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget(
object
):
def __init__(
self, node_pool: str = None, roles: list = None, node_pool_config: dict = None
):
self.node_pool = node_pool
self.roles = roles
self.node_pool_config = node_pool_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget()
)
if Primitive.to_proto(resource.node_pool):
res.node_pool = Primitive.to_proto(resource.node_pool)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnumArray.to_proto(
resource.roles
):
res.roles.extend(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnumArray.to_proto(
resource.roles
)
)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.to_proto(
resource.node_pool_config
):
res.node_pool_config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.to_proto(
resource.node_pool_config
)
)
else:
res.ClearField("node_pool_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget(
node_pool=Primitive.from_proto(resource.node_pool),
roles=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnumArray.from_proto(
resource.roles
),
node_pool_config=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.from_proto(
resource.node_pool_config
),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTarget.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig(
object
):
def __init__(
self, config: dict = None, locations: list = None, autoscaling: dict = None
):
self.config = config
self.locations = locations
self.autoscaling = autoscaling
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig()
)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.to_proto(
resource.config
):
res.config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.to_proto(
resource.config
)
)
else:
res.ClearField("config")
if Primitive.to_proto(resource.locations):
res.locations.extend(Primitive.to_proto(resource.locations))
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.to_proto(
resource.autoscaling
):
res.autoscaling.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.to_proto(
resource.autoscaling
)
)
else:
res.ClearField("autoscaling")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig(
config=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.from_proto(
resource.config
),
locations=Primitive.from_proto(resource.locations),
autoscaling=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.from_proto(
resource.autoscaling
),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig(
object
):
def __init__(
self,
machine_type: str = None,
local_ssd_count: int = None,
preemptible: bool = None,
accelerators: list = None,
min_cpu_platform: str = None,
boot_disk_kms_key: str = None,
ephemeral_storage_config: dict = None,
spot: bool = None,
):
self.machine_type = machine_type
self.local_ssd_count = local_ssd_count
self.preemptible = preemptible
self.accelerators = accelerators
self.min_cpu_platform = min_cpu_platform
self.boot_disk_kms_key = boot_disk_kms_key
self.ephemeral_storage_config = ephemeral_storage_config
self.spot = spot
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig()
)
if Primitive.to_proto(resource.machine_type):
res.machine_type = Primitive.to_proto(resource.machine_type)
if Primitive.to_proto(resource.local_ssd_count):
res.local_ssd_count = Primitive.to_proto(resource.local_ssd_count)
if Primitive.to_proto(resource.preemptible):
res.preemptible = Primitive.to_proto(resource.preemptible)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAcceleratorsArray.to_proto(
resource.accelerators
):
res.accelerators.extend(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAcceleratorsArray.to_proto(
resource.accelerators
)
)
if Primitive.to_proto(resource.min_cpu_platform):
res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform)
if Primitive.to_proto(resource.boot_disk_kms_key):
res.boot_disk_kms_key = Primitive.to_proto(resource.boot_disk_kms_key)
if ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig.to_proto(
resource.ephemeral_storage_config
):
res.ephemeral_storage_config.CopyFrom(
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig.to_proto(
resource.ephemeral_storage_config
)
)
else:
res.ClearField("ephemeral_storage_config")
if Primitive.to_proto(resource.spot):
res.spot = Primitive.to_proto(resource.spot)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig(
machine_type=Primitive.from_proto(resource.machine_type),
local_ssd_count=Primitive.from_proto(resource.local_ssd_count),
preemptible=Primitive.from_proto(resource.preemptible),
accelerators=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAcceleratorsArray.from_proto(
resource.accelerators
),
min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform),
boot_disk_kms_key=Primitive.from_proto(resource.boot_disk_kms_key),
ephemeral_storage_config=ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig.from_proto(
resource.ephemeral_storage_config
),
spot=Primitive.from_proto(resource.spot),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAccelerators(
object
):
def __init__(
self,
accelerator_count: int = None,
accelerator_type: str = None,
gpu_partition_size: str = None,
):
self.accelerator_count = accelerator_count
self.accelerator_type = accelerator_type
self.gpu_partition_size = gpu_partition_size
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAccelerators()
)
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)
if Primitive.to_proto(resource.gpu_partition_size):
res.gpu_partition_size = Primitive.to_proto(resource.gpu_partition_size)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAccelerators(
accelerator_count=Primitive.from_proto(resource.accelerator_count),
accelerator_type=Primitive.from_proto(resource.accelerator_type),
gpu_partition_size=Primitive.from_proto(resource.gpu_partition_size),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAcceleratorsArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAccelerators.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigAccelerators.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig(
object
):
def __init__(self, local_ssd_count: int = None):
self.local_ssd_count = local_ssd_count
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig()
)
if Primitive.to_proto(resource.local_ssd_count):
res.local_ssd_count = Primitive.to_proto(resource.local_ssd_count)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig(
local_ssd_count=Primitive.from_proto(resource.local_ssd_count),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigConfigEphemeralStorageConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling(
object
):
def __init__(self, min_node_count: int = None, max_node_count: int = None):
self.min_node_count = min_node_count
self.max_node_count = max_node_count
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling()
)
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)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling(
min_node_count=Primitive.from_proto(resource.min_node_count),
max_node_count=Primitive.from_proto(resource.max_node_count),
)
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscalingArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigAutoscaling.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig(
object
):
def __init__(self, component_version: dict = None, properties: dict = None):
self.component_version = component_version
self.properties = properties
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig()
)
if Primitive.to_proto(resource.component_version):
res.component_version = Primitive.to_proto(resource.component_version)
if Primitive.to_proto(resource.properties):
res.properties = Primitive.to_proto(resource.properties)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return (
ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig(
component_version=Primitive.from_proto(resource.component_version),
properties=Primitive.from_proto(resource.properties),
)
)
class ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigKubernetesClusterConfigKubernetesSoftwareConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigAuxiliaryServicesConfig(object):
def __init__(
self, metastore_config: dict = None, spark_history_server_config: dict = None
):
self.metastore_config = metastore_config
self.spark_history_server_config = spark_history_server_config
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = cluster_pb2.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfig()
if ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.to_proto(
resource.metastore_config
):
res.metastore_config.CopyFrom(
ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.to_proto(
resource.metastore_config
)
)
else:
res.ClearField("metastore_config")
if ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.to_proto(
resource.spark_history_server_config
):
res.spark_history_server_config.CopyFrom(
ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.to_proto(
resource.spark_history_server_config
)
)
else:
res.ClearField("spark_history_server_config")
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigAuxiliaryServicesConfig(
metastore_config=ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.from_proto(
resource.metastore_config
),
spark_history_server_config=ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.from_proto(
resource.spark_history_server_config
),
)
class ClusterVirtualClusterConfigAuxiliaryServicesConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfig.to_proto(i)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfig.from_proto(i)
for i in resources
]
class ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig(object):
def __init__(self, dataproc_metastore_service: str = None):
self.dataproc_metastore_service = dataproc_metastore_service
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig()
)
if Primitive.to_proto(resource.dataproc_metastore_service):
res.dataproc_metastore_service = Primitive.to_proto(
resource.dataproc_metastore_service
)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig(
dataproc_metastore_service=Primitive.from_proto(
resource.dataproc_metastore_service
),
)
class ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfigArray(object):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfigMetastoreConfig.from_proto(
i
)
for i in resources
]
class ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig(
object
):
def __init__(self, dataproc_cluster: str = None):
self.dataproc_cluster = dataproc_cluster
@classmethod
def to_proto(self, resource):
if not resource:
return None
res = (
cluster_pb2.DataprocClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig()
)
if Primitive.to_proto(resource.dataproc_cluster):
res.dataproc_cluster = Primitive.to_proto(resource.dataproc_cluster)
return res
@classmethod
def from_proto(self, resource):
if not resource:
return None
return (
ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig(
dataproc_cluster=Primitive.from_proto(resource.dataproc_cluster),
)
)
class ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfigArray(
object
):
@classmethod
def to_proto(self, resources):
if not resources:
return resources
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.to_proto(
i
)
for i in resources
]
@classmethod
def from_proto(self, resources):
return [
ClusterVirtualClusterConfigAuxiliaryServicesConfigSparkHistoryServerConfig.from_proto(
i
)
for i in resources
]
class ClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.Value(
"DataprocClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.Name(
resource
)[
len("DataprocClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum") :
]
class ClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum(
object
):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.Value(
"DataprocClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.Name(
resource
)[
len(
"DataprocClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum"
) :
]
class ClusterConfigMasterConfigPreemptibilityEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigMasterConfigPreemptibilityEnum.Value(
"DataprocClusterConfigMasterConfigPreemptibilityEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigMasterConfigPreemptibilityEnum.Name(
resource
)[len("DataprocClusterConfigMasterConfigPreemptibilityEnum") :]
class ClusterConfigWorkerConfigPreemptibilityEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigWorkerConfigPreemptibilityEnum.Value(
"DataprocClusterConfigWorkerConfigPreemptibilityEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigWorkerConfigPreemptibilityEnum.Name(
resource
)[len("DataprocClusterConfigWorkerConfigPreemptibilityEnum") :]
class ClusterConfigSecondaryWorkerConfigPreemptibilityEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigPreemptibilityEnum.Value(
"DataprocClusterConfigSecondaryWorkerConfigPreemptibilityEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigSecondaryWorkerConfigPreemptibilityEnum.Name(
resource
)[
len("DataprocClusterConfigSecondaryWorkerConfigPreemptibilityEnum") :
]
class ClusterConfigSoftwareConfigOptionalComponentsEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return (
cluster_pb2.DataprocClusterConfigSoftwareConfigOptionalComponentsEnum.Value(
"DataprocClusterConfigSoftwareConfigOptionalComponentsEnum%s" % resource
)
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return (
cluster_pb2.DataprocClusterConfigSoftwareConfigOptionalComponentsEnum.Name(
resource
)[len("DataprocClusterConfigSoftwareConfigOptionalComponentsEnum") :]
)
class ClusterConfigDataprocMetricConfigMetricsMetricSourceEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigDataprocMetricConfigMetricsMetricSourceEnum.Value(
"DataprocClusterConfigDataprocMetricConfigMetricsMetricSourceEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterConfigDataprocMetricConfigMetricsMetricSourceEnum.Name(
resource
)[
len("DataprocClusterConfigDataprocMetricConfigMetricsMetricSourceEnum") :
]
class ClusterStatusStateEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusStateEnum.Value(
"DataprocClusterStatusStateEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusStateEnum.Name(resource)[
len("DataprocClusterStatusStateEnum") :
]
class ClusterStatusSubstateEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusSubstateEnum.Value(
"DataprocClusterStatusSubstateEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusSubstateEnum.Name(resource)[
len("DataprocClusterStatusSubstateEnum") :
]
class ClusterStatusHistoryStateEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusHistoryStateEnum.Value(
"DataprocClusterStatusHistoryStateEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusHistoryStateEnum.Name(resource)[
len("DataprocClusterStatusHistoryStateEnum") :
]
class ClusterStatusHistorySubstateEnum(object):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusHistorySubstateEnum.Value(
"DataprocClusterStatusHistorySubstateEnum%s" % resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterStatusHistorySubstateEnum.Name(resource)[
len("DataprocClusterStatusHistorySubstateEnum") :
]
class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnum(
object
):
@classmethod
def to_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnum.Value(
"DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnum%s"
% resource
)
@classmethod
def from_proto(self, resource):
if not resource:
return resource
return cluster_pb2.DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnum.Name(
resource
)[
len(
"DataprocClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetRolesEnum"
) :
]
class Primitive(object):
@classmethod
def to_proto(self, s):
if not s:
return ""
return s
@classmethod
def from_proto(self, s):
return s