python/services/dataproc/beta/workflow_template.py (3,620 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 workflow_template_pb2 from google3.cloud.graphite.mmv2.services.google.dataproc import ( workflow_template_pb2_grpc, ) from typing import List class WorkflowTemplate(object): def __init__( self, name: str = None, version: int = None, create_time: str = None, update_time: str = None, labels: dict = None, encryption_config: dict = None, placement: dict = None, jobs: list = None, parameters: list = None, dag_timeout: str = None, project: str = None, location: str = None, service_account_file: str = "", ): channel.initialize() self.name = name self.labels = labels self.encryption_config = encryption_config self.placement = placement self.jobs = jobs self.parameters = parameters self.dag_timeout = dag_timeout self.project = project self.location = location self.service_account_file = service_account_file def apply(self): stub = workflow_template_pb2_grpc.DataprocBetaWorkflowTemplateServiceStub( channel.Channel() ) request = workflow_template_pb2.ApplyDataprocBetaWorkflowTemplateRequest() if Primitive.to_proto(self.name): request.resource.name = Primitive.to_proto(self.name) if Primitive.to_proto(self.labels): request.resource.labels = Primitive.to_proto(self.labels) if WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config): request.resource.encryption_config.CopyFrom( WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config) ) else: request.resource.ClearField("encryption_config") if WorkflowTemplatePlacement.to_proto(self.placement): request.resource.placement.CopyFrom( WorkflowTemplatePlacement.to_proto(self.placement) ) else: request.resource.ClearField("placement") if WorkflowTemplateJobsArray.to_proto(self.jobs): request.resource.jobs.extend(WorkflowTemplateJobsArray.to_proto(self.jobs)) if WorkflowTemplateParametersArray.to_proto(self.parameters): request.resource.parameters.extend( WorkflowTemplateParametersArray.to_proto(self.parameters) ) if Primitive.to_proto(self.dag_timeout): request.resource.dag_timeout = Primitive.to_proto(self.dag_timeout) if Primitive.to_proto(self.project): request.resource.project = Primitive.to_proto(self.project) if Primitive.to_proto(self.location): request.resource.location = Primitive.to_proto(self.location) request.service_account_file = self.service_account_file response = stub.ApplyDataprocBetaWorkflowTemplate(request) self.name = Primitive.from_proto(response.name) self.version = Primitive.from_proto(response.version) self.create_time = Primitive.from_proto(response.create_time) self.update_time = Primitive.from_proto(response.update_time) self.labels = Primitive.from_proto(response.labels) self.encryption_config = WorkflowTemplateEncryptionConfig.from_proto( response.encryption_config ) self.placement = WorkflowTemplatePlacement.from_proto(response.placement) self.jobs = WorkflowTemplateJobsArray.from_proto(response.jobs) self.parameters = WorkflowTemplateParametersArray.from_proto( response.parameters ) self.dag_timeout = Primitive.from_proto(response.dag_timeout) self.project = Primitive.from_proto(response.project) self.location = Primitive.from_proto(response.location) def delete(self): stub = workflow_template_pb2_grpc.DataprocBetaWorkflowTemplateServiceStub( channel.Channel() ) request = workflow_template_pb2.DeleteDataprocBetaWorkflowTemplateRequest() request.service_account_file = self.service_account_file if Primitive.to_proto(self.name): request.resource.name = Primitive.to_proto(self.name) if Primitive.to_proto(self.labels): request.resource.labels = Primitive.to_proto(self.labels) if WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config): request.resource.encryption_config.CopyFrom( WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config) ) else: request.resource.ClearField("encryption_config") if WorkflowTemplatePlacement.to_proto(self.placement): request.resource.placement.CopyFrom( WorkflowTemplatePlacement.to_proto(self.placement) ) else: request.resource.ClearField("placement") if WorkflowTemplateJobsArray.to_proto(self.jobs): request.resource.jobs.extend(WorkflowTemplateJobsArray.to_proto(self.jobs)) if WorkflowTemplateParametersArray.to_proto(self.parameters): request.resource.parameters.extend( WorkflowTemplateParametersArray.to_proto(self.parameters) ) if Primitive.to_proto(self.dag_timeout): request.resource.dag_timeout = Primitive.to_proto(self.dag_timeout) if Primitive.to_proto(self.project): request.resource.project = Primitive.to_proto(self.project) if Primitive.to_proto(self.location): request.resource.location = Primitive.to_proto(self.location) response = stub.DeleteDataprocBetaWorkflowTemplate(request) @classmethod def list(self, project, location, service_account_file=""): stub = workflow_template_pb2_grpc.DataprocBetaWorkflowTemplateServiceStub( channel.Channel() ) request = workflow_template_pb2.ListDataprocBetaWorkflowTemplateRequest() request.service_account_file = service_account_file request.Project = project request.Location = location return stub.ListDataprocBetaWorkflowTemplate(request).items def to_proto(self): resource = workflow_template_pb2.DataprocBetaWorkflowTemplate() if Primitive.to_proto(self.name): resource.name = Primitive.to_proto(self.name) if Primitive.to_proto(self.labels): resource.labels = Primitive.to_proto(self.labels) if WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config): resource.encryption_config.CopyFrom( WorkflowTemplateEncryptionConfig.to_proto(self.encryption_config) ) else: resource.ClearField("encryption_config") if WorkflowTemplatePlacement.to_proto(self.placement): resource.placement.CopyFrom( WorkflowTemplatePlacement.to_proto(self.placement) ) else: resource.ClearField("placement") if WorkflowTemplateJobsArray.to_proto(self.jobs): resource.jobs.extend(WorkflowTemplateJobsArray.to_proto(self.jobs)) if WorkflowTemplateParametersArray.to_proto(self.parameters): resource.parameters.extend( WorkflowTemplateParametersArray.to_proto(self.parameters) ) if Primitive.to_proto(self.dag_timeout): resource.dag_timeout = Primitive.to_proto(self.dag_timeout) if Primitive.to_proto(self.project): resource.project = Primitive.to_proto(self.project) if Primitive.to_proto(self.location): resource.location = Primitive.to_proto(self.location) return resource class WorkflowTemplateEncryptionConfig(object): def __init__(self, kms_key: str = None): self.kms_key = kms_key @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateEncryptionConfig() if Primitive.to_proto(resource.kms_key): res.kms_key = Primitive.to_proto(resource.kms_key) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateEncryptionConfig( kms_key=Primitive.from_proto(resource.kms_key), ) class WorkflowTemplateEncryptionConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateEncryptionConfig.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateEncryptionConfig.from_proto(i) for i in resources] class WorkflowTemplatePlacement(object): def __init__(self, managed_cluster: dict = None, cluster_selector: dict = None): self.managed_cluster = managed_cluster self.cluster_selector = cluster_selector @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplatePlacement() if WorkflowTemplatePlacementManagedCluster.to_proto(resource.managed_cluster): res.managed_cluster.CopyFrom( WorkflowTemplatePlacementManagedCluster.to_proto( resource.managed_cluster ) ) else: res.ClearField("managed_cluster") if WorkflowTemplatePlacementClusterSelector.to_proto(resource.cluster_selector): res.cluster_selector.CopyFrom( WorkflowTemplatePlacementClusterSelector.to_proto( resource.cluster_selector ) ) else: res.ClearField("cluster_selector") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacement( managed_cluster=WorkflowTemplatePlacementManagedCluster.from_proto( resource.managed_cluster ), cluster_selector=WorkflowTemplatePlacementClusterSelector.from_proto( resource.cluster_selector ), ) class WorkflowTemplatePlacementArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplatePlacement.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplatePlacement.from_proto(i) for i in resources] class WorkflowTemplatePlacementManagedCluster(object): def __init__( self, cluster_name: str = None, config: dict = None, labels: dict = None ): self.cluster_name = cluster_name self.config = config self.labels = labels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedCluster() ) if Primitive.to_proto(resource.cluster_name): res.cluster_name = Primitive.to_proto(resource.cluster_name) if WorkflowTemplatePlacementManagedClusterConfig.to_proto(resource.config): res.config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfig.to_proto(resource.config) ) else: res.ClearField("config") if Primitive.to_proto(resource.labels): res.labels = Primitive.to_proto(resource.labels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedCluster( cluster_name=Primitive.from_proto(resource.cluster_name), config=WorkflowTemplatePlacementManagedClusterConfig.from_proto( resource.config ), labels=Primitive.from_proto(resource.labels), ) class WorkflowTemplatePlacementManagedClusterArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplatePlacementManagedCluster.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedCluster.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfig(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, gke_cluster_config: dict = None, metastore_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.gke_cluster_config = gke_cluster_config self.metastore_config = metastore_config @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.to_proto( resource.gce_cluster_config ): res.gce_cluster_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.to_proto( resource.gce_cluster_config ) ) else: res.ClearField("gce_cluster_config") if WorkflowTemplatePlacementManagedClusterConfigMasterConfig.to_proto( resource.master_config ): res.master_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigMasterConfig.to_proto( resource.master_config ) ) else: res.ClearField("master_config") if WorkflowTemplatePlacementManagedClusterConfigWorkerConfig.to_proto( resource.worker_config ): res.worker_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigWorkerConfig.to_proto( resource.worker_config ) ) else: res.ClearField("worker_config") if WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.to_proto( resource.secondary_worker_config ): res.secondary_worker_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.to_proto( resource.secondary_worker_config ) ) else: res.ClearField("secondary_worker_config") if WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.to_proto( resource.software_config ): res.software_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.to_proto( resource.software_config ) ) else: res.ClearField("software_config") if WorkflowTemplatePlacementManagedClusterConfigInitializationActionsArray.to_proto( resource.initialization_actions ): res.initialization_actions.extend( WorkflowTemplatePlacementManagedClusterConfigInitializationActionsArray.to_proto( resource.initialization_actions ) ) if WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.to_proto( resource.encryption_config ): res.encryption_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.to_proto( resource.encryption_config ) ) else: res.ClearField("encryption_config") if WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.to_proto( resource.autoscaling_config ): res.autoscaling_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.to_proto( resource.autoscaling_config ) ) else: res.ClearField("autoscaling_config") if WorkflowTemplatePlacementManagedClusterConfigSecurityConfig.to_proto( resource.security_config ): res.security_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSecurityConfig.to_proto( resource.security_config ) ) else: res.ClearField("security_config") if WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.to_proto( resource.lifecycle_config ): res.lifecycle_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.to_proto( resource.lifecycle_config ) ) else: res.ClearField("lifecycle_config") if WorkflowTemplatePlacementManagedClusterConfigEndpointConfig.to_proto( resource.endpoint_config ): res.endpoint_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigEndpointConfig.to_proto( resource.endpoint_config ) ) else: res.ClearField("endpoint_config") if WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig.to_proto( resource.gke_cluster_config ): res.gke_cluster_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig.to_proto( resource.gke_cluster_config ) ) else: res.ClearField("gke_cluster_config") if WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig.to_proto( resource.metastore_config ): res.metastore_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig.to_proto( resource.metastore_config ) ) else: res.ClearField("metastore_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfig( staging_bucket=Primitive.from_proto(resource.staging_bucket), temp_bucket=Primitive.from_proto(resource.temp_bucket), gce_cluster_config=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.from_proto( resource.gce_cluster_config ), master_config=WorkflowTemplatePlacementManagedClusterConfigMasterConfig.from_proto( resource.master_config ), worker_config=WorkflowTemplatePlacementManagedClusterConfigWorkerConfig.from_proto( resource.worker_config ), secondary_worker_config=WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.from_proto( resource.secondary_worker_config ), software_config=WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.from_proto( resource.software_config ), initialization_actions=WorkflowTemplatePlacementManagedClusterConfigInitializationActionsArray.from_proto( resource.initialization_actions ), encryption_config=WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.from_proto( resource.encryption_config ), autoscaling_config=WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.from_proto( resource.autoscaling_config ), security_config=WorkflowTemplatePlacementManagedClusterConfigSecurityConfig.from_proto( resource.security_config ), lifecycle_config=WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.from_proto( resource.lifecycle_config ), endpoint_config=WorkflowTemplatePlacementManagedClusterConfigEndpointConfig.from_proto( resource.endpoint_config ), gke_cluster_config=WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig.from_proto( resource.gke_cluster_config ), metastore_config=WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig.from_proto( resource.metastore_config ), ) class WorkflowTemplatePlacementManagedClusterConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(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, ): 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 @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.to_proto( resource.private_ipv6_google_access ): res.private_ipv6_google_access = WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.to_proto( resource.reservation_affinity ): res.reservation_affinity.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.to_proto( resource.reservation_affinity ) ) else: res.ClearField("reservation_affinity") if WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.to_proto( resource.node_group_affinity ): res.node_group_affinity.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.to_proto( resource.node_group_affinity ) ) else: res.ClearField("node_group_affinity") if WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto( resource.shielded_instance_config ): res.shielded_instance_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto( resource.shielded_instance_config ) ) else: res.ClearField("shielded_instance_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig( 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=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.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=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.from_proto( resource.reservation_affinity ), node_group_affinity=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.from_proto( resource.node_group_affinity ), shielded_instance_config=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto( resource.shielded_instance_config ), ) class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity() ) if WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.to_proto( resource.consume_reservation_type ): res.consume_reservation_type = WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity( consume_reservation_type=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.from_proto( resource.consume_reservation_type ), key=Primitive.from_proto(resource.key), values=Primitive.from_proto(resource.values), ) class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity() ) 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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity( node_group=Primitive.from_proto(resource.node_group), ) class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig( 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 WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigMasterConfig(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, ): 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 @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.to_proto( resource.disk_config ): res.disk_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.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 WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum.to_proto( resource.preemptibility ): res.preemptibility = WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum.to_proto( resource.preemptibility ) if WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.to_proto( resource.managed_group_config ): res.managed_group_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.to_proto( resource.managed_group_config ) ) else: res.ClearField("managed_group_config") if WorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray.to_proto( resource.accelerators ): res.accelerators.extend( WorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray.to_proto( resource.accelerators ) ) if Primitive.to_proto(resource.min_cpu_platform): res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigMasterConfig( 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=WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.from_proto( resource.disk_config ), is_preemptible=Primitive.from_proto(resource.is_preemptible), preemptibility=WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum.from_proto( resource.preemptibility ), managed_group_config=WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.from_proto( resource.managed_group_config ), accelerators=WorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray.from_proto( resource.accelerators ), min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform), ) class WorkflowTemplatePlacementManagedClusterConfigMasterConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(object): def __init__( self, boot_disk_type: str = None, boot_disk_size_gb: int = None, num_local_ssds: int = None, ): self.boot_disk_type = boot_disk_type self.boot_disk_size_gb = boot_disk_size_gb self.num_local_ssds = num_local_ssds @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig() ) 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) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig( 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), ) class WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig() ) 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 ( WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig( instance_template_name=Primitive.from_proto( resource.instance_template_name ), instance_group_manager_name=Primitive.from_proto( resource.instance_group_manager_name ), ) ) class WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators() ) 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 WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators( accelerator_type=Primitive.from_proto(resource.accelerator_type), accelerator_count=Primitive.from_proto(resource.accelerator_count), ) class WorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigWorkerConfig(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, ): 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 @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.to_proto( resource.disk_config ): res.disk_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.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 WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum.to_proto( resource.preemptibility ): res.preemptibility = WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum.to_proto( resource.preemptibility ) if WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.to_proto( resource.managed_group_config ): res.managed_group_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.to_proto( resource.managed_group_config ) ) else: res.ClearField("managed_group_config") if WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray.to_proto( resource.accelerators ): res.accelerators.extend( WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray.to_proto( resource.accelerators ) ) if Primitive.to_proto(resource.min_cpu_platform): res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigWorkerConfig( 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=WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.from_proto( resource.disk_config ), is_preemptible=Primitive.from_proto(resource.is_preemptible), preemptibility=WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum.from_proto( resource.preemptibility ), managed_group_config=WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.from_proto( resource.managed_group_config ), accelerators=WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray.from_proto( resource.accelerators ), min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform), ) class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(object): def __init__( self, boot_disk_type: str = None, boot_disk_size_gb: int = None, num_local_ssds: int = None, ): self.boot_disk_type = boot_disk_type self.boot_disk_size_gb = boot_disk_size_gb self.num_local_ssds = num_local_ssds @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig() ) 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) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig( 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), ) class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig() ) 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 ( WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig( instance_template_name=Primitive.from_proto( resource.instance_template_name ), instance_group_manager_name=Primitive.from_proto( resource.instance_group_manager_name ), ) ) class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators() ) 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 WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators( accelerator_type=Primitive.from_proto(resource.accelerator_type), accelerator_count=Primitive.from_proto(resource.accelerator_count), ) class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(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, ): 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 @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.to_proto( resource.disk_config ): res.disk_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.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 WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum.to_proto( resource.preemptibility ): res.preemptibility = WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum.to_proto( resource.preemptibility ) if WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto( resource.managed_group_config ): res.managed_group_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto( resource.managed_group_config ) ) else: res.ClearField("managed_group_config") if WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray.to_proto( resource.accelerators ): res.accelerators.extend( WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray.to_proto( resource.accelerators ) ) if Primitive.to_proto(resource.min_cpu_platform): res.min_cpu_platform = Primitive.to_proto(resource.min_cpu_platform) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig( 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=WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.from_proto( resource.disk_config ), is_preemptible=Primitive.from_proto(resource.is_preemptible), preemptibility=WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum.from_proto( resource.preemptibility ), managed_group_config=WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.from_proto( resource.managed_group_config ), accelerators=WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray.from_proto( resource.accelerators ), min_cpu_platform=Primitive.from_proto(resource.min_cpu_platform), ) class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig( object ): def __init__( self, boot_disk_type: str = None, boot_disk_size_gb: int = None, num_local_ssds: int = None, ): self.boot_disk_type = boot_disk_type self.boot_disk_size_gb = boot_disk_size_gb self.num_local_ssds = num_local_ssds @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig() ) 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) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig( 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), ) class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig( instance_template_name=Primitive.from_proto( resource.instance_template_name ), instance_group_manager_name=Primitive.from_proto( resource.instance_group_manager_name ), ) class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators( 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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators() ) 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 WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators( accelerator_type=Primitive.from_proto(resource.accelerator_type), accelerator_count=Primitive.from_proto(resource.accelerator_count), ) class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnumArray.to_proto( resource.optional_components ): res.optional_components.extend( WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnumArray.to_proto( resource.optional_components ) ) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig( image_version=Primitive.from_proto(resource.image_version), properties=Primitive.from_proto(resource.properties), optional_components=WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnumArray.from_proto( resource.optional_components ), ) class WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigInitializationActions(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigInitializationActions() ) 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 WorkflowTemplatePlacementManagedClusterConfigInitializationActions( executable_file=Primitive.from_proto(resource.executable_file), execution_timeout=Primitive.from_proto(resource.execution_timeout), ) class WorkflowTemplatePlacementManagedClusterConfigInitializationActionsArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigInitializationActions.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigInitializationActions.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig( gce_pd_kms_key_name=Primitive.from_proto(resource.gce_pd_kms_key_name), ) class WorkflowTemplatePlacementManagedClusterConfigEncryptionConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig(object): def __init__(self, policy: str = None): self.policy = policy @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig( policy=Primitive.from_proto(resource.policy), ) class WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecurityConfig(object): def __init__(self, kerberos_config: dict = None): self.kerberos_config = kerberos_config @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecurityConfig() ) if WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.to_proto( resource.kerberos_config ): res.kerberos_config.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.to_proto( resource.kerberos_config ) ) else: res.ClearField("kerberos_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigSecurityConfig( kerberos_config=WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.from_proto( resource.kerberos_config ), ) class WorkflowTemplatePlacementManagedClusterConfigSecurityConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecurityConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecurityConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig() ) 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 ( WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig( 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 WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfigArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig( 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 WorkflowTemplatePlacementManagedClusterConfigLifecycleConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigEndpointConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigEndpointConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigEndpointConfig( http_ports=Primitive.from_proto(resource.http_ports), enable_http_port_access=Primitive.from_proto( resource.enable_http_port_access ), ) class WorkflowTemplatePlacementManagedClusterConfigEndpointConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigEndpointConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigEndpointConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig(object): def __init__(self, namespaced_gke_deployment_target: dict = None): self.namespaced_gke_deployment_target = namespaced_gke_deployment_target @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig() ) if WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget.to_proto( resource.namespaced_gke_deployment_target ): res.namespaced_gke_deployment_target.CopyFrom( WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget.to_proto( resource.namespaced_gke_deployment_target ) ) else: res.ClearField("namespaced_gke_deployment_target") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig( namespaced_gke_deployment_target=WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget.from_proto( resource.namespaced_gke_deployment_target ), ) class WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget( object ): def __init__(self, target_gke_cluster: str = None, cluster_namespace: str = None): self.target_gke_cluster = target_gke_cluster self.cluster_namespace = cluster_namespace @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget() ) if Primitive.to_proto(resource.target_gke_cluster): res.target_gke_cluster = Primitive.to_proto(resource.target_gke_cluster) if Primitive.to_proto(resource.cluster_namespace): res.cluster_namespace = Primitive.to_proto(resource.cluster_namespace) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget( target_gke_cluster=Primitive.from_proto(resource.target_gke_cluster), cluster_namespace=Primitive.from_proto(resource.cluster_namespace), ) class WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTargetArray( object ): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget.to_proto( i ) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget.from_proto( i ) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig(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 = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMetastoreConfig() ) 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 WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig( dataproc_metastore_service=Primitive.from_proto( resource.dataproc_metastore_service ), ) class WorkflowTemplatePlacementManagedClusterConfigMetastoreConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig.from_proto(i) for i in resources ] class WorkflowTemplatePlacementClusterSelector(object): def __init__(self, zone: str = None, cluster_labels: dict = None): self.zone = zone self.cluster_labels = cluster_labels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementClusterSelector() ) if Primitive.to_proto(resource.zone): res.zone = Primitive.to_proto(resource.zone) if Primitive.to_proto(resource.cluster_labels): res.cluster_labels = Primitive.to_proto(resource.cluster_labels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplatePlacementClusterSelector( zone=Primitive.from_proto(resource.zone), cluster_labels=Primitive.from_proto(resource.cluster_labels), ) class WorkflowTemplatePlacementClusterSelectorArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplatePlacementClusterSelector.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [ WorkflowTemplatePlacementClusterSelector.from_proto(i) for i in resources ] class WorkflowTemplateJobs(object): def __init__( self, step_id: str = None, hadoop_job: dict = None, spark_job: dict = None, pyspark_job: dict = None, hive_job: dict = None, pig_job: dict = None, spark_r_job: dict = None, spark_sql_job: dict = None, presto_job: dict = None, labels: dict = None, scheduling: dict = None, prerequisite_step_ids: list = None, ): self.step_id = step_id self.hadoop_job = hadoop_job self.spark_job = spark_job self.pyspark_job = pyspark_job self.hive_job = hive_job self.pig_job = pig_job self.spark_r_job = spark_r_job self.spark_sql_job = spark_sql_job self.presto_job = presto_job self.labels = labels self.scheduling = scheduling self.prerequisite_step_ids = prerequisite_step_ids @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobs() if Primitive.to_proto(resource.step_id): res.step_id = Primitive.to_proto(resource.step_id) if WorkflowTemplateJobsHadoopJob.to_proto(resource.hadoop_job): res.hadoop_job.CopyFrom( WorkflowTemplateJobsHadoopJob.to_proto(resource.hadoop_job) ) else: res.ClearField("hadoop_job") if WorkflowTemplateJobsSparkJob.to_proto(resource.spark_job): res.spark_job.CopyFrom( WorkflowTemplateJobsSparkJob.to_proto(resource.spark_job) ) else: res.ClearField("spark_job") if WorkflowTemplateJobsPysparkJob.to_proto(resource.pyspark_job): res.pyspark_job.CopyFrom( WorkflowTemplateJobsPysparkJob.to_proto(resource.pyspark_job) ) else: res.ClearField("pyspark_job") if WorkflowTemplateJobsHiveJob.to_proto(resource.hive_job): res.hive_job.CopyFrom( WorkflowTemplateJobsHiveJob.to_proto(resource.hive_job) ) else: res.ClearField("hive_job") if WorkflowTemplateJobsPigJob.to_proto(resource.pig_job): res.pig_job.CopyFrom(WorkflowTemplateJobsPigJob.to_proto(resource.pig_job)) else: res.ClearField("pig_job") if WorkflowTemplateJobsSparkRJob.to_proto(resource.spark_r_job): res.spark_r_job.CopyFrom( WorkflowTemplateJobsSparkRJob.to_proto(resource.spark_r_job) ) else: res.ClearField("spark_r_job") if WorkflowTemplateJobsSparkSqlJob.to_proto(resource.spark_sql_job): res.spark_sql_job.CopyFrom( WorkflowTemplateJobsSparkSqlJob.to_proto(resource.spark_sql_job) ) else: res.ClearField("spark_sql_job") if WorkflowTemplateJobsPrestoJob.to_proto(resource.presto_job): res.presto_job.CopyFrom( WorkflowTemplateJobsPrestoJob.to_proto(resource.presto_job) ) else: res.ClearField("presto_job") if Primitive.to_proto(resource.labels): res.labels = Primitive.to_proto(resource.labels) if WorkflowTemplateJobsScheduling.to_proto(resource.scheduling): res.scheduling.CopyFrom( WorkflowTemplateJobsScheduling.to_proto(resource.scheduling) ) else: res.ClearField("scheduling") if Primitive.to_proto(resource.prerequisite_step_ids): res.prerequisite_step_ids.extend( Primitive.to_proto(resource.prerequisite_step_ids) ) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobs( step_id=Primitive.from_proto(resource.step_id), hadoop_job=WorkflowTemplateJobsHadoopJob.from_proto(resource.hadoop_job), spark_job=WorkflowTemplateJobsSparkJob.from_proto(resource.spark_job), pyspark_job=WorkflowTemplateJobsPysparkJob.from_proto(resource.pyspark_job), hive_job=WorkflowTemplateJobsHiveJob.from_proto(resource.hive_job), pig_job=WorkflowTemplateJobsPigJob.from_proto(resource.pig_job), spark_r_job=WorkflowTemplateJobsSparkRJob.from_proto(resource.spark_r_job), spark_sql_job=WorkflowTemplateJobsSparkSqlJob.from_proto( resource.spark_sql_job ), presto_job=WorkflowTemplateJobsPrestoJob.from_proto(resource.presto_job), labels=Primitive.from_proto(resource.labels), scheduling=WorkflowTemplateJobsScheduling.from_proto(resource.scheduling), prerequisite_step_ids=Primitive.from_proto(resource.prerequisite_step_ids), ) class WorkflowTemplateJobsArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobs.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobs.from_proto(i) for i in resources] class WorkflowTemplateJobsHadoopJob(object): def __init__( self, main_jar_file_uri: str = None, main_class: str = None, args: list = None, jar_file_uris: list = None, file_uris: list = None, archive_uris: list = None, properties: dict = None, logging_config: dict = None, ): self.main_jar_file_uri = main_jar_file_uri self.main_class = main_class self.args = args self.jar_file_uris = jar_file_uris self.file_uris = file_uris self.archive_uris = archive_uris self.properties = properties self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsHadoopJob() if Primitive.to_proto(resource.main_jar_file_uri): res.main_jar_file_uri = Primitive.to_proto(resource.main_jar_file_uri) if Primitive.to_proto(resource.main_class): res.main_class = Primitive.to_proto(resource.main_class) if Primitive.to_proto(resource.args): res.args.extend(Primitive.to_proto(resource.args)) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) if Primitive.to_proto(resource.file_uris): res.file_uris.extend(Primitive.to_proto(resource.file_uris)) if Primitive.to_proto(resource.archive_uris): res.archive_uris.extend(Primitive.to_proto(resource.archive_uris)) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if WorkflowTemplateJobsHadoopJobLoggingConfig.to_proto(resource.logging_config): res.logging_config.CopyFrom( WorkflowTemplateJobsHadoopJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsHadoopJob( main_jar_file_uri=Primitive.from_proto(resource.main_jar_file_uri), main_class=Primitive.from_proto(resource.main_class), args=Primitive.from_proto(resource.args), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), file_uris=Primitive.from_proto(resource.file_uris), archive_uris=Primitive.from_proto(resource.archive_uris), properties=Primitive.from_proto(resource.properties), logging_config=WorkflowTemplateJobsHadoopJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsHadoopJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsHadoopJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsHadoopJob.from_proto(i) for i in resources] class WorkflowTemplateJobsHadoopJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsHadoopJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsHadoopJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsHadoopJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsHadoopJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsHadoopJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsSparkJob(object): def __init__( self, main_jar_file_uri: str = None, main_class: str = None, args: list = None, jar_file_uris: list = None, file_uris: list = None, archive_uris: list = None, properties: dict = None, logging_config: dict = None, ): self.main_jar_file_uri = main_jar_file_uri self.main_class = main_class self.args = args self.jar_file_uris = jar_file_uris self.file_uris = file_uris self.archive_uris = archive_uris self.properties = properties self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkJob() if Primitive.to_proto(resource.main_jar_file_uri): res.main_jar_file_uri = Primitive.to_proto(resource.main_jar_file_uri) if Primitive.to_proto(resource.main_class): res.main_class = Primitive.to_proto(resource.main_class) if Primitive.to_proto(resource.args): res.args.extend(Primitive.to_proto(resource.args)) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) if Primitive.to_proto(resource.file_uris): res.file_uris.extend(Primitive.to_proto(resource.file_uris)) if Primitive.to_proto(resource.archive_uris): res.archive_uris.extend(Primitive.to_proto(resource.archive_uris)) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if WorkflowTemplateJobsSparkJobLoggingConfig.to_proto(resource.logging_config): res.logging_config.CopyFrom( WorkflowTemplateJobsSparkJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkJob( main_jar_file_uri=Primitive.from_proto(resource.main_jar_file_uri), main_class=Primitive.from_proto(resource.main_class), args=Primitive.from_proto(resource.args), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), file_uris=Primitive.from_proto(resource.file_uris), archive_uris=Primitive.from_proto(resource.archive_uris), properties=Primitive.from_proto(resource.properties), logging_config=WorkflowTemplateJobsSparkJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsSparkJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsSparkJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsSparkJob.from_proto(i) for i in resources] class WorkflowTemplateJobsSparkJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsSparkJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsSparkJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsSparkJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsPysparkJob(object): def __init__( self, main_python_file_uri: str = None, args: list = None, python_file_uris: list = None, jar_file_uris: list = None, file_uris: list = None, archive_uris: list = None, properties: dict = None, logging_config: dict = None, ): self.main_python_file_uri = main_python_file_uri self.args = args self.python_file_uris = python_file_uris self.jar_file_uris = jar_file_uris self.file_uris = file_uris self.archive_uris = archive_uris self.properties = properties self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPysparkJob() if Primitive.to_proto(resource.main_python_file_uri): res.main_python_file_uri = Primitive.to_proto(resource.main_python_file_uri) if Primitive.to_proto(resource.args): res.args.extend(Primitive.to_proto(resource.args)) if Primitive.to_proto(resource.python_file_uris): res.python_file_uris.extend(Primitive.to_proto(resource.python_file_uris)) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) if Primitive.to_proto(resource.file_uris): res.file_uris.extend(Primitive.to_proto(resource.file_uris)) if Primitive.to_proto(resource.archive_uris): res.archive_uris.extend(Primitive.to_proto(resource.archive_uris)) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if WorkflowTemplateJobsPysparkJobLoggingConfig.to_proto( resource.logging_config ): res.logging_config.CopyFrom( WorkflowTemplateJobsPysparkJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPysparkJob( main_python_file_uri=Primitive.from_proto(resource.main_python_file_uri), args=Primitive.from_proto(resource.args), python_file_uris=Primitive.from_proto(resource.python_file_uris), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), file_uris=Primitive.from_proto(resource.file_uris), archive_uris=Primitive.from_proto(resource.archive_uris), properties=Primitive.from_proto(resource.properties), logging_config=WorkflowTemplateJobsPysparkJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsPysparkJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPysparkJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsPysparkJob.from_proto(i) for i in resources] class WorkflowTemplateJobsPysparkJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPysparkJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPysparkJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsPysparkJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsPysparkJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsPysparkJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsHiveJob(object): def __init__( self, query_file_uri: str = None, query_list: dict = None, continue_on_failure: bool = None, script_variables: dict = None, properties: dict = None, jar_file_uris: list = None, ): self.query_file_uri = query_file_uri self.query_list = query_list self.continue_on_failure = continue_on_failure self.script_variables = script_variables self.properties = properties self.jar_file_uris = jar_file_uris @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsHiveJob() if Primitive.to_proto(resource.query_file_uri): res.query_file_uri = Primitive.to_proto(resource.query_file_uri) if WorkflowTemplateJobsHiveJobQueryList.to_proto(resource.query_list): res.query_list.CopyFrom( WorkflowTemplateJobsHiveJobQueryList.to_proto(resource.query_list) ) else: res.ClearField("query_list") if Primitive.to_proto(resource.continue_on_failure): res.continue_on_failure = Primitive.to_proto(resource.continue_on_failure) if Primitive.to_proto(resource.script_variables): res.script_variables = Primitive.to_proto(resource.script_variables) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsHiveJob( query_file_uri=Primitive.from_proto(resource.query_file_uri), query_list=WorkflowTemplateJobsHiveJobQueryList.from_proto( resource.query_list ), continue_on_failure=Primitive.from_proto(resource.continue_on_failure), script_variables=Primitive.from_proto(resource.script_variables), properties=Primitive.from_proto(resource.properties), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), ) class WorkflowTemplateJobsHiveJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsHiveJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsHiveJob.from_proto(i) for i in resources] class WorkflowTemplateJobsHiveJobQueryList(object): def __init__(self, queries: list = None): self.queries = queries @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsHiveJobQueryList() if Primitive.to_proto(resource.queries): res.queries.extend(Primitive.to_proto(resource.queries)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsHiveJobQueryList( queries=Primitive.from_proto(resource.queries), ) class WorkflowTemplateJobsHiveJobQueryListArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsHiveJobQueryList.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsHiveJobQueryList.from_proto(i) for i in resources] class WorkflowTemplateJobsPigJob(object): def __init__( self, query_file_uri: str = None, query_list: dict = None, continue_on_failure: bool = None, script_variables: dict = None, properties: dict = None, jar_file_uris: list = None, logging_config: dict = None, ): self.query_file_uri = query_file_uri self.query_list = query_list self.continue_on_failure = continue_on_failure self.script_variables = script_variables self.properties = properties self.jar_file_uris = jar_file_uris self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPigJob() if Primitive.to_proto(resource.query_file_uri): res.query_file_uri = Primitive.to_proto(resource.query_file_uri) if WorkflowTemplateJobsPigJobQueryList.to_proto(resource.query_list): res.query_list.CopyFrom( WorkflowTemplateJobsPigJobQueryList.to_proto(resource.query_list) ) else: res.ClearField("query_list") if Primitive.to_proto(resource.continue_on_failure): res.continue_on_failure = Primitive.to_proto(resource.continue_on_failure) if Primitive.to_proto(resource.script_variables): res.script_variables = Primitive.to_proto(resource.script_variables) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) if WorkflowTemplateJobsPigJobLoggingConfig.to_proto(resource.logging_config): res.logging_config.CopyFrom( WorkflowTemplateJobsPigJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPigJob( query_file_uri=Primitive.from_proto(resource.query_file_uri), query_list=WorkflowTemplateJobsPigJobQueryList.from_proto( resource.query_list ), continue_on_failure=Primitive.from_proto(resource.continue_on_failure), script_variables=Primitive.from_proto(resource.script_variables), properties=Primitive.from_proto(resource.properties), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), logging_config=WorkflowTemplateJobsPigJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsPigJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPigJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsPigJob.from_proto(i) for i in resources] class WorkflowTemplateJobsPigJobQueryList(object): def __init__(self, queries: list = None): self.queries = queries @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPigJobQueryList() if Primitive.to_proto(resource.queries): res.queries.extend(Primitive.to_proto(resource.queries)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPigJobQueryList( queries=Primitive.from_proto(resource.queries), ) class WorkflowTemplateJobsPigJobQueryListArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPigJobQueryList.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsPigJobQueryList.from_proto(i) for i in resources] class WorkflowTemplateJobsPigJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPigJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPigJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsPigJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPigJobLoggingConfig.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsPigJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsSparkRJob(object): def __init__( self, main_r_file_uri: str = None, args: list = None, file_uris: list = None, archive_uris: list = None, properties: dict = None, logging_config: dict = None, ): self.main_r_file_uri = main_r_file_uri self.args = args self.file_uris = file_uris self.archive_uris = archive_uris self.properties = properties self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkRJob() if Primitive.to_proto(resource.main_r_file_uri): res.main_r_file_uri = Primitive.to_proto(resource.main_r_file_uri) if Primitive.to_proto(resource.args): res.args.extend(Primitive.to_proto(resource.args)) if Primitive.to_proto(resource.file_uris): res.file_uris.extend(Primitive.to_proto(resource.file_uris)) if Primitive.to_proto(resource.archive_uris): res.archive_uris.extend(Primitive.to_proto(resource.archive_uris)) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if WorkflowTemplateJobsSparkRJobLoggingConfig.to_proto(resource.logging_config): res.logging_config.CopyFrom( WorkflowTemplateJobsSparkRJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkRJob( main_r_file_uri=Primitive.from_proto(resource.main_r_file_uri), args=Primitive.from_proto(resource.args), file_uris=Primitive.from_proto(resource.file_uris), archive_uris=Primitive.from_proto(resource.archive_uris), properties=Primitive.from_proto(resource.properties), logging_config=WorkflowTemplateJobsSparkRJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsSparkRJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsSparkRJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsSparkRJob.from_proto(i) for i in resources] class WorkflowTemplateJobsSparkRJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkRJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkRJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsSparkRJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsSparkRJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsSparkRJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsSparkSqlJob(object): def __init__( self, query_file_uri: str = None, query_list: dict = None, script_variables: dict = None, properties: dict = None, jar_file_uris: list = None, logging_config: dict = None, ): self.query_file_uri = query_file_uri self.query_list = query_list self.script_variables = script_variables self.properties = properties self.jar_file_uris = jar_file_uris self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkSqlJob() if Primitive.to_proto(resource.query_file_uri): res.query_file_uri = Primitive.to_proto(resource.query_file_uri) if WorkflowTemplateJobsSparkSqlJobQueryList.to_proto(resource.query_list): res.query_list.CopyFrom( WorkflowTemplateJobsSparkSqlJobQueryList.to_proto(resource.query_list) ) else: res.ClearField("query_list") if Primitive.to_proto(resource.script_variables): res.script_variables = Primitive.to_proto(resource.script_variables) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if Primitive.to_proto(resource.jar_file_uris): res.jar_file_uris.extend(Primitive.to_proto(resource.jar_file_uris)) if WorkflowTemplateJobsSparkSqlJobLoggingConfig.to_proto( resource.logging_config ): res.logging_config.CopyFrom( WorkflowTemplateJobsSparkSqlJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkSqlJob( query_file_uri=Primitive.from_proto(resource.query_file_uri), query_list=WorkflowTemplateJobsSparkSqlJobQueryList.from_proto( resource.query_list ), script_variables=Primitive.from_proto(resource.script_variables), properties=Primitive.from_proto(resource.properties), jar_file_uris=Primitive.from_proto(resource.jar_file_uris), logging_config=WorkflowTemplateJobsSparkSqlJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsSparkSqlJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsSparkSqlJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsSparkSqlJob.from_proto(i) for i in resources] class WorkflowTemplateJobsSparkSqlJobQueryList(object): def __init__(self, queries: list = None): self.queries = queries @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkSqlJobQueryList() ) if Primitive.to_proto(resource.queries): res.queries.extend(Primitive.to_proto(resource.queries)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkSqlJobQueryList( queries=Primitive.from_proto(resource.queries), ) class WorkflowTemplateJobsSparkSqlJobQueryListArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsSparkSqlJobQueryList.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsSparkSqlJobQueryList.from_proto(i) for i in resources ] class WorkflowTemplateJobsSparkSqlJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsSparkSqlJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsSparkSqlJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsSparkSqlJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsSparkSqlJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsSparkSqlJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsPrestoJob(object): def __init__( self, query_file_uri: str = None, query_list: dict = None, continue_on_failure: bool = None, output_format: str = None, client_tags: list = None, properties: dict = None, logging_config: dict = None, ): self.query_file_uri = query_file_uri self.query_list = query_list self.continue_on_failure = continue_on_failure self.output_format = output_format self.client_tags = client_tags self.properties = properties self.logging_config = logging_config @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPrestoJob() if Primitive.to_proto(resource.query_file_uri): res.query_file_uri = Primitive.to_proto(resource.query_file_uri) if WorkflowTemplateJobsPrestoJobQueryList.to_proto(resource.query_list): res.query_list.CopyFrom( WorkflowTemplateJobsPrestoJobQueryList.to_proto(resource.query_list) ) else: res.ClearField("query_list") if Primitive.to_proto(resource.continue_on_failure): res.continue_on_failure = Primitive.to_proto(resource.continue_on_failure) if Primitive.to_proto(resource.output_format): res.output_format = Primitive.to_proto(resource.output_format) if Primitive.to_proto(resource.client_tags): res.client_tags.extend(Primitive.to_proto(resource.client_tags)) if Primitive.to_proto(resource.properties): res.properties = Primitive.to_proto(resource.properties) if WorkflowTemplateJobsPrestoJobLoggingConfig.to_proto(resource.logging_config): res.logging_config.CopyFrom( WorkflowTemplateJobsPrestoJobLoggingConfig.to_proto( resource.logging_config ) ) else: res.ClearField("logging_config") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPrestoJob( query_file_uri=Primitive.from_proto(resource.query_file_uri), query_list=WorkflowTemplateJobsPrestoJobQueryList.from_proto( resource.query_list ), continue_on_failure=Primitive.from_proto(resource.continue_on_failure), output_format=Primitive.from_proto(resource.output_format), client_tags=Primitive.from_proto(resource.client_tags), properties=Primitive.from_proto(resource.properties), logging_config=WorkflowTemplateJobsPrestoJobLoggingConfig.from_proto( resource.logging_config ), ) class WorkflowTemplateJobsPrestoJobArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPrestoJob.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsPrestoJob.from_proto(i) for i in resources] class WorkflowTemplateJobsPrestoJobQueryList(object): def __init__(self, queries: list = None): self.queries = queries @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPrestoJobQueryList() if Primitive.to_proto(resource.queries): res.queries.extend(Primitive.to_proto(resource.queries)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPrestoJobQueryList( queries=Primitive.from_proto(resource.queries), ) class WorkflowTemplateJobsPrestoJobQueryListArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsPrestoJobQueryList.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsPrestoJobQueryList.from_proto(i) for i in resources] class WorkflowTemplateJobsPrestoJobLoggingConfig(object): def __init__(self, driver_log_levels: dict = None): self.driver_log_levels = driver_log_levels @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateJobsPrestoJobLoggingConfig() ) if Primitive.to_proto(resource.driver_log_levels): res.driver_log_levels = Primitive.to_proto(resource.driver_log_levels) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsPrestoJobLoggingConfig( driver_log_levels=Primitive.from_proto(resource.driver_log_levels), ) class WorkflowTemplateJobsPrestoJobLoggingConfigArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateJobsPrestoJobLoggingConfig.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateJobsPrestoJobLoggingConfig.from_proto(i) for i in resources ] class WorkflowTemplateJobsScheduling(object): def __init__( self, max_failures_per_hour: int = None, max_failures_total: int = None ): self.max_failures_per_hour = max_failures_per_hour self.max_failures_total = max_failures_total @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateJobsScheduling() if Primitive.to_proto(resource.max_failures_per_hour): res.max_failures_per_hour = Primitive.to_proto( resource.max_failures_per_hour ) if Primitive.to_proto(resource.max_failures_total): res.max_failures_total = Primitive.to_proto(resource.max_failures_total) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateJobsScheduling( max_failures_per_hour=Primitive.from_proto(resource.max_failures_per_hour), max_failures_total=Primitive.from_proto(resource.max_failures_total), ) class WorkflowTemplateJobsSchedulingArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateJobsScheduling.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateJobsScheduling.from_proto(i) for i in resources] class WorkflowTemplateParameters(object): def __init__( self, name: str = None, fields: list = None, description: str = None, validation: dict = None, ): self.name = name self.fields = fields self.description = description self.validation = validation @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateParameters() if Primitive.to_proto(resource.name): res.name = Primitive.to_proto(resource.name) if Primitive.to_proto(resource.fields): res.fields.extend(Primitive.to_proto(resource.fields)) if Primitive.to_proto(resource.description): res.description = Primitive.to_proto(resource.description) if WorkflowTemplateParametersValidation.to_proto(resource.validation): res.validation.CopyFrom( WorkflowTemplateParametersValidation.to_proto(resource.validation) ) else: res.ClearField("validation") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateParameters( name=Primitive.from_proto(resource.name), fields=Primitive.from_proto(resource.fields), description=Primitive.from_proto(resource.description), validation=WorkflowTemplateParametersValidation.from_proto( resource.validation ), ) class WorkflowTemplateParametersArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateParameters.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateParameters.from_proto(i) for i in resources] class WorkflowTemplateParametersValidation(object): def __init__(self, regex: dict = None, values: dict = None): self.regex = regex self.values = values @classmethod def to_proto(self, resource): if not resource: return None res = workflow_template_pb2.DataprocBetaWorkflowTemplateParametersValidation() if WorkflowTemplateParametersValidationRegex.to_proto(resource.regex): res.regex.CopyFrom( WorkflowTemplateParametersValidationRegex.to_proto(resource.regex) ) else: res.ClearField("regex") if WorkflowTemplateParametersValidationValues.to_proto(resource.values): res.values.CopyFrom( WorkflowTemplateParametersValidationValues.to_proto(resource.values) ) else: res.ClearField("values") return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateParametersValidation( regex=WorkflowTemplateParametersValidationRegex.from_proto(resource.regex), values=WorkflowTemplateParametersValidationValues.from_proto( resource.values ), ) class WorkflowTemplateParametersValidationArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [WorkflowTemplateParametersValidation.to_proto(i) for i in resources] @classmethod def from_proto(self, resources): return [WorkflowTemplateParametersValidation.from_proto(i) for i in resources] class WorkflowTemplateParametersValidationRegex(object): def __init__(self, regexes: list = None): self.regexes = regexes @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateParametersValidationRegex() ) if Primitive.to_proto(resource.regexes): res.regexes.extend(Primitive.to_proto(resource.regexes)) return res @classmethod def from_proto(self, resource): if not resource: return None return WorkflowTemplateParametersValidationRegex( regexes=Primitive.from_proto(resource.regexes), ) class WorkflowTemplateParametersValidationRegexArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateParametersValidationRegex.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateParametersValidationRegex.from_proto(i) for i in resources ] class WorkflowTemplateParametersValidationValues(object): def __init__(self, values: list = None): self.values = values @classmethod def to_proto(self, resource): if not resource: return None res = ( workflow_template_pb2.DataprocBetaWorkflowTemplateParametersValidationValues() ) 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 WorkflowTemplateParametersValidationValues( values=Primitive.from_proto(resource.values), ) class WorkflowTemplateParametersValidationValuesArray(object): @classmethod def to_proto(self, resources): if not resources: return resources return [ WorkflowTemplateParametersValidationValues.to_proto(i) for i in resources ] @classmethod def from_proto(self, resources): return [ WorkflowTemplateParametersValidationValues.from_proto(i) for i in resources ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum" ) : ] class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum" ) : ] class WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum" ) : ] class WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum" ) : ] class WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum" ) : ] class WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum( object ): @classmethod def to_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum.Value( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum%s" % resource ) @classmethod def from_proto(self, resource): if not resource: return resource return workflow_template_pb2.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum.Name( resource )[ len( "DataprocBetaWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum" ) : ] class Primitive(object): @classmethod def to_proto(self, s): if not s: return "" return s @classmethod def from_proto(self, s): return s