From b91ad81e9b18c80c0a769ed75de3ded8fa5cf85d Mon Sep 17 00:00:00 2001 From: DCL Team Date: Fri, 26 Aug 2022 09:43:45 -0700 Subject: [PATCH] Automated DCL import. - 0bbbcc3c35ee7204977e51ea825f97f9aa2a21f3 Automatic import from cloud_mmv2_dcl_20220826_0931_RC00 by DCL Team GitOrigin-RevId: 0bbbcc3c35ee7204977e51ea825f97f9aa2a21f3 --- .../dataproc/alpha/workflow_template.proto | 7 + .../dataproc/beta/workflow_template.proto | 7 + python/proto/dataproc/workflow_template.proto | 7 + .../dataproc/alpha/workflow_template.py | 84 +++++ .../alpha/workflow_template_server.go | 27 ++ .../dataproc/beta/workflow_template.py | 84 +++++ .../dataproc/beta/workflow_template_server.go | 27 ++ python/services/dataproc/workflow_template.py | 84 +++++ .../dataproc/workflow_template_server.go | 27 ++ .../dataproc/alpha/workflow_template.go | 55 +++ .../dataproc/alpha/workflow_template.yaml | 37 ++ .../workflow_template_alpha_yaml_embed.go | 6 +- .../alpha/workflow_template_internal.go | 347 ++++++++++++++++++ .../alpha/workflow_template_schema.go | 27 ++ .../google/dataproc/beta/workflow_template.go | 55 +++ .../dataproc/beta/workflow_template.yaml | 37 ++ .../beta/workflow_template_beta_yaml_embed.go | 6 +- .../beta/workflow_template_internal.go | 347 ++++++++++++++++++ .../dataproc/beta/workflow_template_schema.go | 27 ++ .../shielded_vms.workflow_template.json | 72 ++++ .../shielded_vms_workflow_template.yaml | 38 ++ services/google/dataproc/workflow_template.go | 55 +++ .../google/dataproc/workflow_template.yaml | 37 ++ .../dataproc/workflow_template_internal.go | 347 ++++++++++++++++++ .../dataproc/workflow_template_schema.go | 27 ++ .../dataproc/workflow_template_yaml_embed.go | 6 +- .../dataproc/alpha/workflow_template.go | 41 +++ .../google/dataproc/beta/workflow_template.go | 41 +++ .../google/dataproc/workflow_template.go | 41 +++ 29 files changed, 1994 insertions(+), 9 deletions(-) create mode 100755 services/google/dataproc/samples/shielded_vms.workflow_template.json create mode 100755 services/google/dataproc/samples/shielded_vms_workflow_template.yaml diff --git a/python/proto/dataproc/alpha/workflow_template.proto b/python/proto/dataproc/alpha/workflow_template.proto index 341005b65..351e12299 100755 --- a/python/proto/dataproc/alpha/workflow_template.proto +++ b/python/proto/dataproc/alpha/workflow_template.proto @@ -132,6 +132,7 @@ message DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConf map metadata = 9; DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity reservation_affinity = 10; DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity node_group_affinity = 11; + DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig shielded_instance_config = 12; } message DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { @@ -144,6 +145,12 @@ message DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConf string node_group = 1; } +message DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + bool enable_secure_boot = 1; + bool enable_vtpm = 2; + bool enable_integrity_monitoring = 3; +} + message DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigMasterConfig { int64 num_instances = 1; repeated string instance_names = 2; diff --git a/python/proto/dataproc/beta/workflow_template.proto b/python/proto/dataproc/beta/workflow_template.proto index b7ed76ab2..60981462a 100755 --- a/python/proto/dataproc/beta/workflow_template.proto +++ b/python/proto/dataproc/beta/workflow_template.proto @@ -132,6 +132,7 @@ message DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi map metadata = 9; DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity reservation_affinity = 10; DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity node_group_affinity = 11; + DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig shielded_instance_config = 12; } message DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { @@ -144,6 +145,12 @@ message DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi string node_group = 1; } +message DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + bool enable_secure_boot = 1; + bool enable_vtpm = 2; + bool enable_integrity_monitoring = 3; +} + message DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfig { int64 num_instances = 1; repeated string instance_names = 2; diff --git a/python/proto/dataproc/workflow_template.proto b/python/proto/dataproc/workflow_template.proto index b5899881a..382b764aa 100755 --- a/python/proto/dataproc/workflow_template.proto +++ b/python/proto/dataproc/workflow_template.proto @@ -130,6 +130,7 @@ message DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { map metadata = 9; DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity reservation_affinity = 10; DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity node_group_affinity = 11; + DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig shielded_instance_config = 12; } message DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { @@ -142,6 +143,12 @@ message DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNod string node_group = 1; } +message DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + bool enable_secure_boot = 1; + bool enable_vtpm = 2; + bool enable_integrity_monitoring = 3; +} + message DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig { int64 num_instances = 1; repeated string instance_names = 2; diff --git a/python/services/dataproc/alpha/workflow_template.py b/python/services/dataproc/alpha/workflow_template.py index 330a4959b..012d793d2 100755 --- a/python/services/dataproc/alpha/workflow_template.py +++ b/python/services/dataproc/alpha/workflow_template.py @@ -542,6 +542,7 @@ def __init__( metadata: dict = None, reservation_affinity: dict = None, node_group_affinity: dict = None, + shielded_instance_config: dict = None, ): self.zone = zone self.network = network @@ -554,6 +555,7 @@ def __init__( 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): @@ -607,6 +609,16 @@ def to_proto(self, resource): ) 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 @@ -634,6 +646,9 @@ def from_proto(self, resource): node_group_affinity=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.from_proto( resource.node_group_affinity ), + shielded_instance_config=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto( + resource.shielded_instance_config + ), ) @@ -775,6 +790,75 @@ def from_proto(self, 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.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig() + ) + 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, diff --git a/python/services/dataproc/alpha/workflow_template_server.go b/python/services/dataproc/alpha/workflow_template_server.go index df1834c2b..fbcc967ce 100755 --- a/python/services/dataproc/alpha/workflow_template_server.go +++ b/python/services/dataproc/alpha/workflow_template_server.go @@ -161,6 +161,7 @@ func ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceCluster ServiceAccount: dcl.StringOrNil(p.GetServiceAccount()), ReservationAffinity: ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(p.GetReservationAffinity()), NodeGroupAffinity: ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(p.GetNodeGroupAffinity()), + ShieldedInstanceConfig: ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p.GetShieldedInstanceConfig()), } for _, r := range p.GetServiceAccountScopes() { obj.ServiceAccountScopes = append(obj.ServiceAccountScopes, r) @@ -197,6 +198,19 @@ func ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceCluster return obj } +// ProtoToWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object from its proto representation. +func ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p *alphapb.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *alpha.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if p == nil { + return nil + } + obj := &alpha.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{ + EnableSecureBoot: dcl.Bool(p.GetEnableSecureBoot()), + EnableVtpm: dcl.Bool(p.GetEnableVtpm()), + EnableIntegrityMonitoring: dcl.Bool(p.GetEnableIntegrityMonitoring()), + } + return obj +} + // ProtoToWorkflowTemplatePlacementManagedClusterConfigMasterConfig converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object from its proto representation. func ProtoToDataprocAlphaWorkflowTemplatePlacementManagedClusterConfigMasterConfig(p *alphapb.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigMasterConfig) *alpha.WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if p == nil { @@ -1053,6 +1067,7 @@ func DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigT p.SetServiceAccount(dcl.ValueOrEmptyString(o.ServiceAccount)) p.SetReservationAffinity(DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityToProto(o.ReservationAffinity)) p.SetNodeGroupAffinity(DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityToProto(o.NodeGroupAffinity)) + p.SetShieldedInstanceConfig(DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o.ShieldedInstanceConfig)) sServiceAccountScopes := make([]string, len(o.ServiceAccountScopes)) for i, r := range o.ServiceAccountScopes { sServiceAccountScopes[i] = r @@ -1097,6 +1112,18 @@ func DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigN return p } +// WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object to its proto representation. +func DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o *alpha.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *alphapb.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if o == nil { + return nil + } + p := &alphapb.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + p.SetEnableSecureBoot(dcl.ValueOrEmptyBool(o.EnableSecureBoot)) + p.SetEnableVtpm(dcl.ValueOrEmptyBool(o.EnableVtpm)) + p.SetEnableIntegrityMonitoring(dcl.ValueOrEmptyBool(o.EnableIntegrityMonitoring)) + return p +} + // WorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object to its proto representation. func DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto(o *alpha.WorkflowTemplatePlacementManagedClusterConfigMasterConfig) *alphapb.DataprocAlphaWorkflowTemplatePlacementManagedClusterConfigMasterConfig { if o == nil { diff --git a/python/services/dataproc/beta/workflow_template.py b/python/services/dataproc/beta/workflow_template.py index 9a4e3c689..0ea44f2b2 100755 --- a/python/services/dataproc/beta/workflow_template.py +++ b/python/services/dataproc/beta/workflow_template.py @@ -542,6 +542,7 @@ def __init__( metadata: dict = None, reservation_affinity: dict = None, node_group_affinity: dict = None, + shielded_instance_config: dict = None, ): self.zone = zone self.network = network @@ -554,6 +555,7 @@ def __init__( 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): @@ -607,6 +609,16 @@ def to_proto(self, resource): ) 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 @@ -634,6 +646,9 @@ def from_proto(self, resource): node_group_affinity=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.from_proto( resource.node_group_affinity ), + shielded_instance_config=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto( + resource.shielded_instance_config + ), ) @@ -775,6 +790,75 @@ def from_proto(self, 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, diff --git a/python/services/dataproc/beta/workflow_template_server.go b/python/services/dataproc/beta/workflow_template_server.go index 02e431953..9e3b66641 100755 --- a/python/services/dataproc/beta/workflow_template_server.go +++ b/python/services/dataproc/beta/workflow_template_server.go @@ -161,6 +161,7 @@ func ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterC ServiceAccount: dcl.StringOrNil(p.GetServiceAccount()), ReservationAffinity: ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(p.GetReservationAffinity()), NodeGroupAffinity: ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(p.GetNodeGroupAffinity()), + ShieldedInstanceConfig: ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p.GetShieldedInstanceConfig()), } for _, r := range p.GetServiceAccountScopes() { obj.ServiceAccountScopes = append(obj.ServiceAccountScopes, r) @@ -197,6 +198,19 @@ func ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterC return obj } +// ProtoToWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object from its proto representation. +func ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p *betapb.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *beta.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if p == nil { + return nil + } + obj := &beta.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{ + EnableSecureBoot: dcl.Bool(p.GetEnableSecureBoot()), + EnableVtpm: dcl.Bool(p.GetEnableVtpm()), + EnableIntegrityMonitoring: dcl.Bool(p.GetEnableIntegrityMonitoring()), + } + return obj +} + // ProtoToWorkflowTemplatePlacementManagedClusterConfigMasterConfig converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object from its proto representation. func ProtoToDataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfig(p *betapb.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfig) *beta.WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if p == nil { @@ -1053,6 +1067,7 @@ func DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigTo p.SetServiceAccount(dcl.ValueOrEmptyString(o.ServiceAccount)) p.SetReservationAffinity(DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityToProto(o.ReservationAffinity)) p.SetNodeGroupAffinity(DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityToProto(o.NodeGroupAffinity)) + p.SetShieldedInstanceConfig(DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o.ShieldedInstanceConfig)) sServiceAccountScopes := make([]string, len(o.ServiceAccountScopes)) for i, r := range o.ServiceAccountScopes { sServiceAccountScopes[i] = r @@ -1097,6 +1112,18 @@ func DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNo return p } +// WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object to its proto representation. +func DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o *beta.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *betapb.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if o == nil { + return nil + } + p := &betapb.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + p.SetEnableSecureBoot(dcl.ValueOrEmptyBool(o.EnableSecureBoot)) + p.SetEnableVtpm(dcl.ValueOrEmptyBool(o.EnableVtpm)) + p.SetEnableIntegrityMonitoring(dcl.ValueOrEmptyBool(o.EnableIntegrityMonitoring)) + return p +} + // WorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object to its proto representation. func DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto(o *beta.WorkflowTemplatePlacementManagedClusterConfigMasterConfig) *betapb.DataprocBetaWorkflowTemplatePlacementManagedClusterConfigMasterConfig { if o == nil { diff --git a/python/services/dataproc/workflow_template.py b/python/services/dataproc/workflow_template.py index 8b315c588..911ccada9 100755 --- a/python/services/dataproc/workflow_template.py +++ b/python/services/dataproc/workflow_template.py @@ -510,6 +510,7 @@ def __init__( metadata: dict = None, reservation_affinity: dict = None, node_group_affinity: dict = None, + shielded_instance_config: dict = None, ): self.zone = zone self.network = network @@ -522,6 +523,7 @@ def __init__( 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): @@ -575,6 +577,16 @@ def to_proto(self, resource): ) 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 @@ -602,6 +614,9 @@ def from_proto(self, resource): node_group_affinity=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.from_proto( resource.node_group_affinity ), + shielded_instance_config=WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.from_proto( + resource.shielded_instance_config + ), ) @@ -743,6 +758,75 @@ def from_proto(self, 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.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig() + ) + 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, diff --git a/python/services/dataproc/workflow_template_server.go b/python/services/dataproc/workflow_template_server.go index 9b177a6b9..d3a7d6ab1 100755 --- a/python/services/dataproc/workflow_template_server.go +++ b/python/services/dataproc/workflow_template_server.go @@ -159,6 +159,7 @@ func ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi ServiceAccount: dcl.StringOrNil(p.GetServiceAccount()), ReservationAffinity: ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(p.GetReservationAffinity()), NodeGroupAffinity: ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(p.GetNodeGroupAffinity()), + ShieldedInstanceConfig: ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p.GetShieldedInstanceConfig()), } for _, r := range p.GetServiceAccountScopes() { obj.ServiceAccountScopes = append(obj.ServiceAccountScopes, r) @@ -195,6 +196,19 @@ func ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi return obj } +// ProtoToWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object from its proto representation. +func ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(p *dataprocpb.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *dataproc.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if p == nil { + return nil + } + obj := &dataproc.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{ + EnableSecureBoot: dcl.Bool(p.GetEnableSecureBoot()), + EnableVtpm: dcl.Bool(p.GetEnableVtpm()), + EnableIntegrityMonitoring: dcl.Bool(p.GetEnableIntegrityMonitoring()), + } + return obj +} + // ProtoToWorkflowTemplatePlacementManagedClusterConfigMasterConfig converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object from its proto representation. func ProtoToDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig(p *dataprocpb.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig) *dataproc.WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if p == nil { @@ -1015,6 +1029,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigToProt p.SetServiceAccount(dcl.ValueOrEmptyString(o.ServiceAccount)) p.SetReservationAffinity(DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityToProto(o.ReservationAffinity)) p.SetNodeGroupAffinity(DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityToProto(o.NodeGroupAffinity)) + p.SetShieldedInstanceConfig(DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o.ShieldedInstanceConfig)) sServiceAccountScopes := make([]string, len(o.ServiceAccountScopes)) for i, r := range o.ServiceAccountScopes { sServiceAccountScopes[i] = r @@ -1059,6 +1074,18 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGr return p } +// WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig object to its proto representation. +func DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigToProto(o *dataproc.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *dataprocpb.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if o == nil { + return nil + } + p := &dataprocpb.DataprocWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + p.SetEnableSecureBoot(dcl.ValueOrEmptyBool(o.EnableSecureBoot)) + p.SetEnableVtpm(dcl.ValueOrEmptyBool(o.EnableVtpm)) + p.SetEnableIntegrityMonitoring(dcl.ValueOrEmptyBool(o.EnableIntegrityMonitoring)) + return p +} + // WorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto converts a WorkflowTemplatePlacementManagedClusterConfigMasterConfig object to its proto representation. func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigToProto(o *dataproc.WorkflowTemplatePlacementManagedClusterConfigMasterConfig) *dataprocpb.DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig { if o == nil { diff --git a/services/google/dataproc/alpha/workflow_template.go b/services/google/dataproc/alpha/workflow_template.go index 161745831..45d929d5e 100755 --- a/services/google/dataproc/alpha/workflow_template.go +++ b/services/google/dataproc/alpha/workflow_template.go @@ -406,6 +406,7 @@ type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig struct { Metadata map[string]string `json:"metadata"` ReservationAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity `json:"reservationAffinity"` NodeGroupAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity `json:"nodeGroupAffinity"` + ShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig `json:"shieldedInstanceConfig"` } type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig @@ -445,6 +446,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) Unmarsha r.NodeGroupAffinity = res.NodeGroupAffinity + r.ShieldedInstanceConfig = res.ShieldedInstanceConfig + } return nil } @@ -567,6 +570,58 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig struct { + empty bool `json:"-"` + EnableSecureBoot *bool `json:"enableSecureBoot"` + EnableVtpm *bool `json:"enableVtpm"` + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } else { + + r.EnableSecureBoot = res.EnableSecureBoot + + r.EnableVtpm = res.EnableVtpm + + r.EnableIntegrityMonitoring = res.EnableIntegrityMonitoring + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.New().Sum([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigMasterConfig struct { empty bool `json:"-"` NumInstances *int64 `json:"numInstances"` diff --git a/services/google/dataproc/alpha/workflow_template.yaml b/services/google/dataproc/alpha/workflow_template.yaml index 6c8015f32..05881bce7 100755 --- a/services/google/dataproc/alpha/workflow_template.yaml +++ b/services/google/dataproc/alpha/workflow_template.yaml @@ -1291,6 +1291,43 @@ components: items: type: string x-dcl-go-type: string + shieldedInstanceConfig: + type: object + x-dcl-go-name: ShieldedInstanceConfig + x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + description: Optional. Shielded Instance Config for clusters + using Compute Engine Shielded VMs. + x-kubernetes-immutable: true + properties: + enableIntegrityMonitoring: + type: boolean + x-dcl-go-name: EnableIntegrityMonitoring + description: Optional. Defines whether instances have + integrity monitoring enabled. Integrity monitoring + compares the most recent boot measurements to the + integrity policy baseline and returns a pair of pass/fail + results depending on whether they match or not. + x-kubernetes-immutable: true + enableSecureBoot: + type: boolean + x-dcl-go-name: EnableSecureBoot + description: Optional. Defines whether the instances + have Secure Boot enabled. Secure Boot helps ensure + that the system only runs authentic software by verifying + the digital signature of all boot components, and + halting the boot process if signature verification + fails. + x-kubernetes-immutable: true + enableVtpm: + type: boolean + x-dcl-go-name: EnableVtpm + description: Optional. Defines whether the instance + have the vTPM enabled. Virtual Trusted Platform Module + protects objects like keys, certificates and enables + Measured Boot by performing the measurements needed + to create a known good boot baseline, called the integrity + policy baseline. + x-kubernetes-immutable: true subnetwork: type: string x-dcl-go-name: Subnetwork diff --git a/services/google/dataproc/alpha/workflow_template_alpha_yaml_embed.go b/services/google/dataproc/alpha/workflow_template_alpha_yaml_embed.go index 8b91ad39e..809cde4b4 100755 --- a/services/google/dataproc/alpha/workflow_template_alpha_yaml_embed.go +++ b/services/google/dataproc/alpha/workflow_template_alpha_yaml_embed.go @@ -17,7 +17,7 @@ package alpha // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dataproc/alpha/workflow_template.yaml -var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n gkeClusterConfig:\n type: object\n x-dcl-go-name: GkeClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig\n description: Optional. BETA. The Kubernetes Engine config for\n Dataproc clusters deployed to Kubernetes. Setting this is\n considered mutually exclusive with Compute Engine-based options\n such as `gce_cluster_config`, `master_config`, `worker_config`,\n `secondary_worker_config`, and `autoscaling_config`.\n x-kubernetes-immutable: true\n properties:\n namespacedGkeDeploymentTarget:\n type: object\n x-dcl-go-name: NamespacedGkeDeploymentTarget\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget\n description: Optional. A target for the deployment.\n x-kubernetes-immutable: true\n properties:\n clusterNamespace:\n type: string\n x-dcl-go-name: ClusterNamespace\n description: Optional. A namespace within the GKE cluster\n to deploy into.\n x-kubernetes-immutable: true\n targetGkeCluster:\n type: string\n x-dcl-go-name: TargetGkeCluster\n description: 'Optional. The target GKE cluster to deploy\n to. Format: ''projects/{project}/locations/{location}/clusters/{cluster_id}'''\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Container/Cluster\n field: name\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n metastoreConfig:\n type: object\n x-dcl-go-name: MetastoreConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig\n description: Optional. Metastore configuration.\n x-kubernetes-immutable: true\n required:\n - dataprocMetastoreService\n properties:\n dataprocMetastoreService:\n type: string\n x-dcl-go-name: DataprocMetastoreService\n description: 'Required. Resource name of an existing Dataproc\n Metastore service. Example: * `projects/[project_id]/locations/[dataproc_region]/services/[service-name]`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Metastore/Service\n field: selfLink\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") +var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n shieldedInstanceConfig:\n type: object\n x-dcl-go-name: ShieldedInstanceConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig\n description: Optional. Shielded Instance Config for clusters\n using Compute Engine Shielded VMs.\n x-kubernetes-immutable: true\n properties:\n enableIntegrityMonitoring:\n type: boolean\n x-dcl-go-name: EnableIntegrityMonitoring\n description: Optional. Defines whether instances have\n integrity monitoring enabled. Integrity monitoring\n compares the most recent boot measurements to the\n integrity policy baseline and returns a pair of pass/fail\n results depending on whether they match or not.\n x-kubernetes-immutable: true\n enableSecureBoot:\n type: boolean\n x-dcl-go-name: EnableSecureBoot\n description: Optional. Defines whether the instances\n have Secure Boot enabled. Secure Boot helps ensure\n that the system only runs authentic software by verifying\n the digital signature of all boot components, and\n halting the boot process if signature verification\n fails.\n x-kubernetes-immutable: true\n enableVtpm:\n type: boolean\n x-dcl-go-name: EnableVtpm\n description: Optional. Defines whether the instance\n have the vTPM enabled. Virtual Trusted Platform Module\n protects objects like keys, certificates and enables\n Measured Boot by performing the measurements needed\n to create a known good boot baseline, called the integrity\n policy baseline.\n x-kubernetes-immutable: true\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n gkeClusterConfig:\n type: object\n x-dcl-go-name: GkeClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig\n description: Optional. BETA. The Kubernetes Engine config for\n Dataproc clusters deployed to Kubernetes. Setting this is\n considered mutually exclusive with Compute Engine-based options\n such as `gce_cluster_config`, `master_config`, `worker_config`,\n `secondary_worker_config`, and `autoscaling_config`.\n x-kubernetes-immutable: true\n properties:\n namespacedGkeDeploymentTarget:\n type: object\n x-dcl-go-name: NamespacedGkeDeploymentTarget\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget\n description: Optional. A target for the deployment.\n x-kubernetes-immutable: true\n properties:\n clusterNamespace:\n type: string\n x-dcl-go-name: ClusterNamespace\n description: Optional. A namespace within the GKE cluster\n to deploy into.\n x-kubernetes-immutable: true\n targetGkeCluster:\n type: string\n x-dcl-go-name: TargetGkeCluster\n description: 'Optional. The target GKE cluster to deploy\n to. Format: ''projects/{project}/locations/{location}/clusters/{cluster_id}'''\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Container/Cluster\n field: name\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n metastoreConfig:\n type: object\n x-dcl-go-name: MetastoreConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig\n description: Optional. Metastore configuration.\n x-kubernetes-immutable: true\n required:\n - dataprocMetastoreService\n properties:\n dataprocMetastoreService:\n type: string\n x-dcl-go-name: DataprocMetastoreService\n description: 'Required. Resource name of an existing Dataproc\n Metastore service. Example: * `projects/[project_id]/locations/[dataproc_region]/services/[service-name]`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Metastore/Service\n field: selfLink\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") -// 129144 bytes -// MD5: f1a8f3ed61de21a898ee0fcb46fc1170 +// 131659 bytes +// MD5: 6b2c5a63649b2839bd4a0a9a5be31a91 diff --git a/services/google/dataproc/alpha/workflow_template_internal.go b/services/google/dataproc/alpha/workflow_template_internal.go index 1db636d2c..499ed930b 100755 --- a/services/google/dataproc/alpha/workflow_template_internal.go +++ b/services/google/dataproc/alpha/workflow_template_internal.go @@ -149,6 +149,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) validate return err } } + if !dcl.IsEmptyValueIndirect(r.ShieldedInstanceConfig) { + if err := r.ShieldedInstanceConfig.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) validate() error { @@ -160,6 +165,9 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA } return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) validate() error { if !dcl.IsEmptyValueIndirect(r.DiskConfig) { if err := r.DiskConfig.validate(); err != nil { @@ -1351,6 +1359,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(d } cDes.ReservationAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(des.ReservationAffinity, initial.ReservationAffinity, opts...) cDes.NodeGroupAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(des.NodeGroupAffinity, initial.NodeGroupAffinity, opts...) + cDes.ShieldedInstanceConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des.ShieldedInstanceConfig, initial.ShieldedInstanceConfig, opts...) return cDes } @@ -1411,6 +1420,7 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi } nw.ReservationAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, des.ReservationAffinity, nw.ReservationAffinity) nw.NodeGroupAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, des.NodeGroupAffinity, nw.NodeGroupAffinity) + nw.ShieldedInstanceConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, des.ShieldedInstanceConfig, nw.ShieldedInstanceConfig) return nw } @@ -1699,6 +1709,137 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi return items } +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.BoolCanonicalize(des.EnableSecureBoot, initial.EnableSecureBoot) || dcl.IsZeroValue(des.EnableSecureBoot) { + cDes.EnableSecureBoot = initial.EnableSecureBoot + } else { + cDes.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, initial.EnableVtpm) || dcl.IsZeroValue(des.EnableVtpm) { + cDes.EnableVtpm = initial.EnableVtpm + } else { + cDes.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, initial.EnableIntegrityMonitoring) || dcl.IsZeroValue(des.EnableIntegrityMonitoring) { + cDes.EnableIntegrityMonitoring = initial.EnableIntegrityMonitoring + } else { + cDes.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, des, nw *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.BoolCanonicalize(des.EnableSecureBoot, nw.EnableSecureBoot) { + nw.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, nw.EnableVtpm) { + nw.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, nw.EnableIntegrityMonitoring) { + nw.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSet(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + var reorderedNew []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for _, d := range des { + matchedNew := -1 + for idx, n := range nw { + if diffs, _ := compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 { + matchedNew = idx + break + } + } + if matchedNew != -1 { + reorderedNew = append(reorderedNew, nw[matchedNew]) + nw = append(nw[:matchedNew], nw[matchedNew+1:]...) + } + } + reorderedNew = append(reorderedNew, nw...) + + return reorderedNew +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + + // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize. + // Return the original array. + if len(des) != len(nw) { + return nw + } + + var items []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &d, &n)) + } + + return items +} + func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigMasterConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if des == nil { return initial @@ -8346,6 +8487,13 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNewStyl } diffs = append(diffs, ds...) } + + if ds, err := dcl.Diff(desired.ShieldedInstanceConfig, actual.ShieldedInstanceConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ShieldedInstanceConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } return diffs, nil } @@ -8421,6 +8569,49 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return diffs, nil } +func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig or *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.EnableSecureBoot, actual.EnableSecureBoot, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableSecureBoot")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableVtpm, actual.EnableVtpm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableVtpm")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableIntegrityMonitoring, actual.EnableIntegrityMonitoring, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableIntegrityMonitoring")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff @@ -11410,6 +11601,11 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Clie } else if !dcl.IsEmptyValueIndirect(v) { m["nodeGroupAffinity"] = v } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, f.ShieldedInstanceConfig, res); err != nil { + return nil, fmt.Errorf("error expanding ShieldedInstanceConfig into shieldedInstanceConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["shieldedInstanceConfig"] = v + } return m, nil } @@ -11438,6 +11634,7 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Cli r.Metadata = dcl.FlattenKeyValuePairs(m["metadata"]) r.ReservationAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, m["reservationAffinity"], res) r.NodeGroupAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, m["nodeGroupAffinity"], res) + r.ShieldedInstanceConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, m["shieldedInstanceConfig"], res) return r } @@ -11678,6 +11875,128 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return r } +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + for k, item := range a { + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.EnableSecureBoot; !dcl.IsEmptyValueIndirect(v) { + m["enableSecureBoot"] = v + } + if v := f.EnableVtpm; !dcl.IsEmptyValueIndirect(v) { + m["enableVtpm"] = v + } + if v := f.EnableIntegrityMonitoring; !dcl.IsEmptyValueIndirect(v) { + m["enableIntegrityMonitoring"] = v + } + + return m, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } + r.EnableSecureBoot = dcl.FlattenBool(m["enableSecureBoot"]) + r.EnableVtpm = dcl.FlattenBool(m["enableVtpm"]) + r.EnableIntegrityMonitoring = dcl.FlattenBool(m["enableIntegrityMonitoring"]) + + return r +} + // expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { @@ -18384,6 +18703,17 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigFields( if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -18392,6 +18722,9 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReserva func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func extractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { @@ -19092,6 +19425,17 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -19100,6 +19444,9 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func postReadExtractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { diff --git a/services/google/dataproc/alpha/workflow_template_schema.go b/services/google/dataproc/alpha/workflow_template_schema.go index cd90bf43f..cf0301159 100755 --- a/services/google/dataproc/alpha/workflow_template_schema.go +++ b/services/google/dataproc/alpha/workflow_template_schema.go @@ -1297,6 +1297,33 @@ func DCLWorkflowTemplateSchema() *dcl.Schema { GoType: "string", }, }, + "shieldedInstanceConfig": &dcl.Property{ + Type: "object", + GoName: "ShieldedInstanceConfig", + GoType: "WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", + Description: "Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs.", + Immutable: true, + Properties: map[string]*dcl.Property{ + "enableIntegrityMonitoring": &dcl.Property{ + Type: "boolean", + GoName: "EnableIntegrityMonitoring", + Description: "Optional. Defines whether instances have integrity monitoring enabled. Integrity monitoring compares the most recent boot measurements to the integrity policy baseline and returns a pair of pass/fail results depending on whether they match or not.", + Immutable: true, + }, + "enableSecureBoot": &dcl.Property{ + Type: "boolean", + GoName: "EnableSecureBoot", + Description: "Optional. Defines whether the instances have Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", + Immutable: true, + }, + "enableVtpm": &dcl.Property{ + Type: "boolean", + GoName: "EnableVtpm", + Description: "Optional. Defines whether the instance have the vTPM enabled. Virtual Trusted Platform Module protects objects like keys, certificates and enables Measured Boot by performing the measurements needed to create a known good boot baseline, called the integrity policy baseline.", + Immutable: true, + }, + }, + }, "subnetwork": &dcl.Property{ Type: "string", GoName: "Subnetwork", diff --git a/services/google/dataproc/beta/workflow_template.go b/services/google/dataproc/beta/workflow_template.go index 36c7fa3fe..705c78426 100755 --- a/services/google/dataproc/beta/workflow_template.go +++ b/services/google/dataproc/beta/workflow_template.go @@ -406,6 +406,7 @@ type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig struct { Metadata map[string]string `json:"metadata"` ReservationAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity `json:"reservationAffinity"` NodeGroupAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity `json:"nodeGroupAffinity"` + ShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig `json:"shieldedInstanceConfig"` } type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig @@ -445,6 +446,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) Unmarsha r.NodeGroupAffinity = res.NodeGroupAffinity + r.ShieldedInstanceConfig = res.ShieldedInstanceConfig + } return nil } @@ -567,6 +570,58 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig struct { + empty bool `json:"-"` + EnableSecureBoot *bool `json:"enableSecureBoot"` + EnableVtpm *bool `json:"enableVtpm"` + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } else { + + r.EnableSecureBoot = res.EnableSecureBoot + + r.EnableVtpm = res.EnableVtpm + + r.EnableIntegrityMonitoring = res.EnableIntegrityMonitoring + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.New().Sum([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigMasterConfig struct { empty bool `json:"-"` NumInstances *int64 `json:"numInstances"` diff --git a/services/google/dataproc/beta/workflow_template.yaml b/services/google/dataproc/beta/workflow_template.yaml index 6c8015f32..05881bce7 100755 --- a/services/google/dataproc/beta/workflow_template.yaml +++ b/services/google/dataproc/beta/workflow_template.yaml @@ -1291,6 +1291,43 @@ components: items: type: string x-dcl-go-type: string + shieldedInstanceConfig: + type: object + x-dcl-go-name: ShieldedInstanceConfig + x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + description: Optional. Shielded Instance Config for clusters + using Compute Engine Shielded VMs. + x-kubernetes-immutable: true + properties: + enableIntegrityMonitoring: + type: boolean + x-dcl-go-name: EnableIntegrityMonitoring + description: Optional. Defines whether instances have + integrity monitoring enabled. Integrity monitoring + compares the most recent boot measurements to the + integrity policy baseline and returns a pair of pass/fail + results depending on whether they match or not. + x-kubernetes-immutable: true + enableSecureBoot: + type: boolean + x-dcl-go-name: EnableSecureBoot + description: Optional. Defines whether the instances + have Secure Boot enabled. Secure Boot helps ensure + that the system only runs authentic software by verifying + the digital signature of all boot components, and + halting the boot process if signature verification + fails. + x-kubernetes-immutable: true + enableVtpm: + type: boolean + x-dcl-go-name: EnableVtpm + description: Optional. Defines whether the instance + have the vTPM enabled. Virtual Trusted Platform Module + protects objects like keys, certificates and enables + Measured Boot by performing the measurements needed + to create a known good boot baseline, called the integrity + policy baseline. + x-kubernetes-immutable: true subnetwork: type: string x-dcl-go-name: Subnetwork diff --git a/services/google/dataproc/beta/workflow_template_beta_yaml_embed.go b/services/google/dataproc/beta/workflow_template_beta_yaml_embed.go index 949a63e32..87e1b14c6 100755 --- a/services/google/dataproc/beta/workflow_template_beta_yaml_embed.go +++ b/services/google/dataproc/beta/workflow_template_beta_yaml_embed.go @@ -17,7 +17,7 @@ package beta // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dataproc/beta/workflow_template.yaml -var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n gkeClusterConfig:\n type: object\n x-dcl-go-name: GkeClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig\n description: Optional. BETA. The Kubernetes Engine config for\n Dataproc clusters deployed to Kubernetes. Setting this is\n considered mutually exclusive with Compute Engine-based options\n such as `gce_cluster_config`, `master_config`, `worker_config`,\n `secondary_worker_config`, and `autoscaling_config`.\n x-kubernetes-immutable: true\n properties:\n namespacedGkeDeploymentTarget:\n type: object\n x-dcl-go-name: NamespacedGkeDeploymentTarget\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget\n description: Optional. A target for the deployment.\n x-kubernetes-immutable: true\n properties:\n clusterNamespace:\n type: string\n x-dcl-go-name: ClusterNamespace\n description: Optional. A namespace within the GKE cluster\n to deploy into.\n x-kubernetes-immutable: true\n targetGkeCluster:\n type: string\n x-dcl-go-name: TargetGkeCluster\n description: 'Optional. The target GKE cluster to deploy\n to. Format: ''projects/{project}/locations/{location}/clusters/{cluster_id}'''\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Container/Cluster\n field: name\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n metastoreConfig:\n type: object\n x-dcl-go-name: MetastoreConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig\n description: Optional. Metastore configuration.\n x-kubernetes-immutable: true\n required:\n - dataprocMetastoreService\n properties:\n dataprocMetastoreService:\n type: string\n x-dcl-go-name: DataprocMetastoreService\n description: 'Required. Resource name of an existing Dataproc\n Metastore service. Example: * `projects/[project_id]/locations/[dataproc_region]/services/[service-name]`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Metastore/Service\n field: selfLink\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") +var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n shieldedInstanceConfig:\n type: object\n x-dcl-go-name: ShieldedInstanceConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig\n description: Optional. Shielded Instance Config for clusters\n using Compute Engine Shielded VMs.\n x-kubernetes-immutable: true\n properties:\n enableIntegrityMonitoring:\n type: boolean\n x-dcl-go-name: EnableIntegrityMonitoring\n description: Optional. Defines whether instances have\n integrity monitoring enabled. Integrity monitoring\n compares the most recent boot measurements to the\n integrity policy baseline and returns a pair of pass/fail\n results depending on whether they match or not.\n x-kubernetes-immutable: true\n enableSecureBoot:\n type: boolean\n x-dcl-go-name: EnableSecureBoot\n description: Optional. Defines whether the instances\n have Secure Boot enabled. Secure Boot helps ensure\n that the system only runs authentic software by verifying\n the digital signature of all boot components, and\n halting the boot process if signature verification\n fails.\n x-kubernetes-immutable: true\n enableVtpm:\n type: boolean\n x-dcl-go-name: EnableVtpm\n description: Optional. Defines whether the instance\n have the vTPM enabled. Virtual Trusted Platform Module\n protects objects like keys, certificates and enables\n Measured Boot by performing the measurements needed\n to create a known good boot baseline, called the integrity\n policy baseline.\n x-kubernetes-immutable: true\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n gkeClusterConfig:\n type: object\n x-dcl-go-name: GkeClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig\n description: Optional. BETA. The Kubernetes Engine config for\n Dataproc clusters deployed to Kubernetes. Setting this is\n considered mutually exclusive with Compute Engine-based options\n such as `gce_cluster_config`, `master_config`, `worker_config`,\n `secondary_worker_config`, and `autoscaling_config`.\n x-kubernetes-immutable: true\n properties:\n namespacedGkeDeploymentTarget:\n type: object\n x-dcl-go-name: NamespacedGkeDeploymentTarget\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget\n description: Optional. A target for the deployment.\n x-kubernetes-immutable: true\n properties:\n clusterNamespace:\n type: string\n x-dcl-go-name: ClusterNamespace\n description: Optional. A namespace within the GKE cluster\n to deploy into.\n x-kubernetes-immutable: true\n targetGkeCluster:\n type: string\n x-dcl-go-name: TargetGkeCluster\n description: 'Optional. The target GKE cluster to deploy\n to. Format: ''projects/{project}/locations/{location}/clusters/{cluster_id}'''\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Container/Cluster\n field: name\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n metastoreConfig:\n type: object\n x-dcl-go-name: MetastoreConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig\n description: Optional. Metastore configuration.\n x-kubernetes-immutable: true\n required:\n - dataprocMetastoreService\n properties:\n dataprocMetastoreService:\n type: string\n x-dcl-go-name: DataprocMetastoreService\n description: 'Required. Resource name of an existing Dataproc\n Metastore service. Example: * `projects/[project_id]/locations/[dataproc_region]/services/[service-name]`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Metastore/Service\n field: selfLink\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") -// 129144 bytes -// MD5: f1a8f3ed61de21a898ee0fcb46fc1170 +// 131659 bytes +// MD5: 6b2c5a63649b2839bd4a0a9a5be31a91 diff --git a/services/google/dataproc/beta/workflow_template_internal.go b/services/google/dataproc/beta/workflow_template_internal.go index beb4ec9c0..da169f8c8 100755 --- a/services/google/dataproc/beta/workflow_template_internal.go +++ b/services/google/dataproc/beta/workflow_template_internal.go @@ -149,6 +149,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) validate return err } } + if !dcl.IsEmptyValueIndirect(r.ShieldedInstanceConfig) { + if err := r.ShieldedInstanceConfig.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) validate() error { @@ -160,6 +165,9 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA } return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) validate() error { if !dcl.IsEmptyValueIndirect(r.DiskConfig) { if err := r.DiskConfig.validate(); err != nil { @@ -1351,6 +1359,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(d } cDes.ReservationAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(des.ReservationAffinity, initial.ReservationAffinity, opts...) cDes.NodeGroupAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(des.NodeGroupAffinity, initial.NodeGroupAffinity, opts...) + cDes.ShieldedInstanceConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des.ShieldedInstanceConfig, initial.ShieldedInstanceConfig, opts...) return cDes } @@ -1411,6 +1420,7 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi } nw.ReservationAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, des.ReservationAffinity, nw.ReservationAffinity) nw.NodeGroupAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, des.NodeGroupAffinity, nw.NodeGroupAffinity) + nw.ShieldedInstanceConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, des.ShieldedInstanceConfig, nw.ShieldedInstanceConfig) return nw } @@ -1699,6 +1709,137 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi return items } +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.BoolCanonicalize(des.EnableSecureBoot, initial.EnableSecureBoot) || dcl.IsZeroValue(des.EnableSecureBoot) { + cDes.EnableSecureBoot = initial.EnableSecureBoot + } else { + cDes.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, initial.EnableVtpm) || dcl.IsZeroValue(des.EnableVtpm) { + cDes.EnableVtpm = initial.EnableVtpm + } else { + cDes.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, initial.EnableIntegrityMonitoring) || dcl.IsZeroValue(des.EnableIntegrityMonitoring) { + cDes.EnableIntegrityMonitoring = initial.EnableIntegrityMonitoring + } else { + cDes.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, des, nw *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.BoolCanonicalize(des.EnableSecureBoot, nw.EnableSecureBoot) { + nw.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, nw.EnableVtpm) { + nw.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, nw.EnableIntegrityMonitoring) { + nw.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSet(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + var reorderedNew []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for _, d := range des { + matchedNew := -1 + for idx, n := range nw { + if diffs, _ := compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 { + matchedNew = idx + break + } + } + if matchedNew != -1 { + reorderedNew = append(reorderedNew, nw[matchedNew]) + nw = append(nw[:matchedNew], nw[matchedNew+1:]...) + } + } + reorderedNew = append(reorderedNew, nw...) + + return reorderedNew +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + + // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize. + // Return the original array. + if len(des) != len(nw) { + return nw + } + + var items []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &d, &n)) + } + + return items +} + func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigMasterConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if des == nil { return initial @@ -8346,6 +8487,13 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNewStyl } diffs = append(diffs, ds...) } + + if ds, err := dcl.Diff(desired.ShieldedInstanceConfig, actual.ShieldedInstanceConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ShieldedInstanceConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } return diffs, nil } @@ -8421,6 +8569,49 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return diffs, nil } +func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig or *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.EnableSecureBoot, actual.EnableSecureBoot, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableSecureBoot")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableVtpm, actual.EnableVtpm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableVtpm")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableIntegrityMonitoring, actual.EnableIntegrityMonitoring, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableIntegrityMonitoring")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff @@ -11410,6 +11601,11 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Clie } else if !dcl.IsEmptyValueIndirect(v) { m["nodeGroupAffinity"] = v } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, f.ShieldedInstanceConfig, res); err != nil { + return nil, fmt.Errorf("error expanding ShieldedInstanceConfig into shieldedInstanceConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["shieldedInstanceConfig"] = v + } return m, nil } @@ -11438,6 +11634,7 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Cli r.Metadata = dcl.FlattenKeyValuePairs(m["metadata"]) r.ReservationAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, m["reservationAffinity"], res) r.NodeGroupAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, m["nodeGroupAffinity"], res) + r.ShieldedInstanceConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, m["shieldedInstanceConfig"], res) return r } @@ -11678,6 +11875,128 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return r } +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + for k, item := range a { + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.EnableSecureBoot; !dcl.IsEmptyValueIndirect(v) { + m["enableSecureBoot"] = v + } + if v := f.EnableVtpm; !dcl.IsEmptyValueIndirect(v) { + m["enableVtpm"] = v + } + if v := f.EnableIntegrityMonitoring; !dcl.IsEmptyValueIndirect(v) { + m["enableIntegrityMonitoring"] = v + } + + return m, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } + r.EnableSecureBoot = dcl.FlattenBool(m["enableSecureBoot"]) + r.EnableVtpm = dcl.FlattenBool(m["enableVtpm"]) + r.EnableIntegrityMonitoring = dcl.FlattenBool(m["enableIntegrityMonitoring"]) + + return r +} + // expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { @@ -18384,6 +18703,17 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigFields( if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -18392,6 +18722,9 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReserva func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func extractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { @@ -19092,6 +19425,17 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -19100,6 +19444,9 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func postReadExtractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { diff --git a/services/google/dataproc/beta/workflow_template_schema.go b/services/google/dataproc/beta/workflow_template_schema.go index 3c6703c50..dbc60e926 100755 --- a/services/google/dataproc/beta/workflow_template_schema.go +++ b/services/google/dataproc/beta/workflow_template_schema.go @@ -1297,6 +1297,33 @@ func DCLWorkflowTemplateSchema() *dcl.Schema { GoType: "string", }, }, + "shieldedInstanceConfig": &dcl.Property{ + Type: "object", + GoName: "ShieldedInstanceConfig", + GoType: "WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", + Description: "Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs.", + Immutable: true, + Properties: map[string]*dcl.Property{ + "enableIntegrityMonitoring": &dcl.Property{ + Type: "boolean", + GoName: "EnableIntegrityMonitoring", + Description: "Optional. Defines whether instances have integrity monitoring enabled. Integrity monitoring compares the most recent boot measurements to the integrity policy baseline and returns a pair of pass/fail results depending on whether they match or not.", + Immutable: true, + }, + "enableSecureBoot": &dcl.Property{ + Type: "boolean", + GoName: "EnableSecureBoot", + Description: "Optional. Defines whether the instances have Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", + Immutable: true, + }, + "enableVtpm": &dcl.Property{ + Type: "boolean", + GoName: "EnableVtpm", + Description: "Optional. Defines whether the instance have the vTPM enabled. Virtual Trusted Platform Module protects objects like keys, certificates and enables Measured Boot by performing the measurements needed to create a known good boot baseline, called the integrity policy baseline.", + Immutable: true, + }, + }, + }, "subnetwork": &dcl.Property{ Type: "string", GoName: "Subnetwork", diff --git a/services/google/dataproc/samples/shielded_vms.workflow_template.json b/services/google/dataproc/samples/shielded_vms.workflow_template.json new file mode 100755 index 000000000..8b04483b5 --- /dev/null +++ b/services/google/dataproc/samples/shielded_vms.workflow_template.json @@ -0,0 +1,72 @@ +{ + "project": "{{project}}", + "name": "{{template_name}}", + "location": "{{region}}", + "placement": { + "managedCluster": { + "clusterName": "test-shielded-vm-cluster", + "labels": { + "environment": "env" + }, + "config": { + "initializationActions": [], + "gceClusterConfig": { + "zone": "{{zone}}", + "tags": ["foo", "bar"], + "subnetwork": "{{ref:basic.compute.subnetwork.json:selfLink}}", + "serviceAccountScopes": ["https://www.googleapis.com/auth/cloud-platform"], + "internalIpOnly": true, + "metadata": {}, + "shieldedInstanceConfig": { + "enableSecureBoot": true, + "enableVtpm": true, + "enableIntegrityMonitoring": true + } + }, + "masterConfig": { + "numInstances": 1, + "machineType": "n1-standard-4", + "diskConfig": { + "bootDiskType": "pd-ssd", + "bootDiskSizeGb": 15 + } + }, + "workerConfig": { + "numInstances": 2, + "machineType": "n1-standard-4", + "minCpuPlatform": "Intel Skylake", + "diskConfig": { + "bootDiskSizeGb": 15, + "numLocalSsds": 1 + } + }, + "secondaryWorkerConfig": { + "numInstances": 0 + }, + "softwareConfig": { + "imageVersion": "2.0.27-debian10", + "properties": { + "dataproc:dataproc.allow.zero.workers": "true" + }, + "optionalComponents": [] + }, + "stagingBucket": "" + } + } + }, + "jobs": [ + { + "stepId": "someJob", + "sparkJob": { + "mainClass": "SomeClass" + } + }, + { + "stepId": "otherJob", + "prerequisiteStepIds": ["someJob"], + "prestoJob": { + "queryFileUri": "someUriThatWontBeValidated" + } + } + ] +} diff --git a/services/google/dataproc/samples/shielded_vms_workflow_template.yaml b/services/google/dataproc/samples/shielded_vms_workflow_template.yaml new file mode 100755 index 000000000..b5ca13055 --- /dev/null +++ b/services/google/dataproc/samples/shielded_vms_workflow_template.yaml @@ -0,0 +1,38 @@ +# Copyright 2022 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. +name: shielded_vms_workflow_template +description: An example of a workflow template with Shielded VMs in GCE Cluster Config +type: workflow_template +versions: +- ga +- beta +resource: samples/shielded_vms.workflow_template.json +dependencies: +- samples/basic.compute.subnetwork.json +- samples/basic.compute.network.json +variables: +- name: dataproc_network + type: resource_name +- name: dataproc_subnetwork + type: resource_name +- name: project + type: project +- name: range + type: resource_name +- name: region + type: region +- name: template_name + type: resource_name +- name: zone + type: zone diff --git a/services/google/dataproc/workflow_template.go b/services/google/dataproc/workflow_template.go index 5cab40982..ef2d64dfa 100755 --- a/services/google/dataproc/workflow_template.go +++ b/services/google/dataproc/workflow_template.go @@ -400,6 +400,7 @@ type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig struct { Metadata map[string]string `json:"metadata"` ReservationAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity `json:"reservationAffinity"` NodeGroupAffinity *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity `json:"nodeGroupAffinity"` + ShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig `json:"shieldedInstanceConfig"` } type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig @@ -439,6 +440,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) Unmarsha r.NodeGroupAffinity = res.NodeGroupAffinity + r.ShieldedInstanceConfig = res.ShieldedInstanceConfig + } return nil } @@ -561,6 +564,58 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig struct { + empty bool `json:"-"` + EnableSecureBoot *bool `json:"enableSecureBoot"` + EnableVtpm *bool `json:"enableVtpm"` + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } else { + + r.EnableSecureBoot = res.EnableSecureBoot + + r.EnableVtpm = res.EnableVtpm + + r.EnableIntegrityMonitoring = res.EnableIntegrityMonitoring + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.New().Sum([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigMasterConfig struct { empty bool `json:"-"` NumInstances *int64 `json:"numInstances"` diff --git a/services/google/dataproc/workflow_template.yaml b/services/google/dataproc/workflow_template.yaml index cb88301ba..6284f9cc0 100755 --- a/services/google/dataproc/workflow_template.yaml +++ b/services/google/dataproc/workflow_template.yaml @@ -1291,6 +1291,43 @@ components: items: type: string x-dcl-go-type: string + shieldedInstanceConfig: + type: object + x-dcl-go-name: ShieldedInstanceConfig + x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + description: Optional. Shielded Instance Config for clusters + using Compute Engine Shielded VMs. + x-kubernetes-immutable: true + properties: + enableIntegrityMonitoring: + type: boolean + x-dcl-go-name: EnableIntegrityMonitoring + description: Optional. Defines whether instances have + integrity monitoring enabled. Integrity monitoring + compares the most recent boot measurements to the + integrity policy baseline and returns a pair of pass/fail + results depending on whether they match or not. + x-kubernetes-immutable: true + enableSecureBoot: + type: boolean + x-dcl-go-name: EnableSecureBoot + description: Optional. Defines whether the instances + have Secure Boot enabled. Secure Boot helps ensure + that the system only runs authentic software by verifying + the digital signature of all boot components, and + halting the boot process if signature verification + fails. + x-kubernetes-immutable: true + enableVtpm: + type: boolean + x-dcl-go-name: EnableVtpm + description: Optional. Defines whether the instance + have the vTPM enabled. Virtual Trusted Platform Module + protects objects like keys, certificates and enables + Measured Boot by performing the measurements needed + to create a known good boot baseline, called the integrity + policy baseline. + x-kubernetes-immutable: true subnetwork: type: string x-dcl-go-name: Subnetwork diff --git a/services/google/dataproc/workflow_template_internal.go b/services/google/dataproc/workflow_template_internal.go index 5774f5fca..941a62d5c 100755 --- a/services/google/dataproc/workflow_template_internal.go +++ b/services/google/dataproc/workflow_template_internal.go @@ -139,6 +139,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) validate return err } } + if !dcl.IsEmptyValueIndirect(r.ShieldedInstanceConfig) { + if err := r.ShieldedInstanceConfig.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) validate() error { @@ -150,6 +155,9 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupA } return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) validate() error { if !dcl.IsEmptyValueIndirect(r.DiskConfig) { if err := r.DiskConfig.validate(); err != nil { @@ -1320,6 +1328,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(d } cDes.ReservationAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(des.ReservationAffinity, initial.ReservationAffinity, opts...) cDes.NodeGroupAffinity = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(des.NodeGroupAffinity, initial.NodeGroupAffinity, opts...) + cDes.ShieldedInstanceConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des.ShieldedInstanceConfig, initial.ShieldedInstanceConfig, opts...) return cDes } @@ -1380,6 +1389,7 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi } nw.ReservationAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, des.ReservationAffinity, nw.ReservationAffinity) nw.NodeGroupAffinity = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, des.NodeGroupAffinity, nw.NodeGroupAffinity) + nw.ShieldedInstanceConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, des.ShieldedInstanceConfig, nw.ShieldedInstanceConfig) return nw } @@ -1668,6 +1678,137 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi return items } +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.BoolCanonicalize(des.EnableSecureBoot, initial.EnableSecureBoot) || dcl.IsZeroValue(des.EnableSecureBoot) { + cDes.EnableSecureBoot = initial.EnableSecureBoot + } else { + cDes.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, initial.EnableVtpm) || dcl.IsZeroValue(des.EnableVtpm) { + cDes.EnableVtpm = initial.EnableVtpm + } else { + cDes.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, initial.EnableIntegrityMonitoring) || dcl.IsZeroValue(des.EnableIntegrityMonitoring) { + cDes.EnableIntegrityMonitoring = initial.EnableIntegrityMonitoring + } else { + cDes.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, des, nw *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.BoolCanonicalize(des.EnableSecureBoot, nw.EnableSecureBoot) { + nw.EnableSecureBoot = des.EnableSecureBoot + } + if dcl.BoolCanonicalize(des.EnableVtpm, nw.EnableVtpm) { + nw.EnableVtpm = des.EnableVtpm + } + if dcl.BoolCanonicalize(des.EnableIntegrityMonitoring, nw.EnableIntegrityMonitoring) { + nw.EnableIntegrityMonitoring = des.EnableIntegrityMonitoring + } + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSet(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + var reorderedNew []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for _, d := range des { + matchedNew := -1 + for idx, n := range nw { + if diffs, _ := compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 { + matchedNew = idx + break + } + } + if matchedNew != -1 { + reorderedNew = append(reorderedNew, nw[matchedNew]) + nw = append(nw[:matchedNew], nw[matchedNew+1:]...) + } + } + reorderedNew = append(reorderedNew, nw...) + + return reorderedNew +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, des, nw []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + if des == nil { + return nw + } + + // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize. + // Return the original array. + if len(des) != len(nw) { + return nw + } + + var items []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &d, &n)) + } + + return items +} + func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigMasterConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigMasterConfig { if des == nil { return initial @@ -7959,6 +8100,13 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNewStyl } diffs = append(diffs, ds...) } + + if ds, err := dcl.Diff(desired.ShieldedInstanceConfig, actual.ShieldedInstanceConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ShieldedInstanceConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } return diffs, nil } @@ -8034,6 +8182,49 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return diffs, nil } +func compareWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig or *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.EnableSecureBoot, actual.EnableSecureBoot, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableSecureBoot")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableVtpm, actual.EnableVtpm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableVtpm")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.EnableIntegrityMonitoring, actual.EnableIntegrityMonitoring, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableIntegrityMonitoring")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff @@ -10917,6 +11108,11 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Clie } else if !dcl.IsEmptyValueIndirect(v) { m["nodeGroupAffinity"] = v } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, f.ShieldedInstanceConfig, res); err != nil { + return nil, fmt.Errorf("error expanding ShieldedInstanceConfig into shieldedInstanceConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["shieldedInstanceConfig"] = v + } return m, nil } @@ -10945,6 +11141,7 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *Cli r.Metadata = dcl.FlattenKeyValuePairs(m["metadata"]) r.ReservationAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, m["reservationAffinity"], res) r.NodeGroupAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, m["nodeGroupAffinity"], res) + r.ShieldedInstanceConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, m["shieldedInstanceConfig"], res) return r } @@ -11185,6 +11382,128 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGro return r } +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *Client, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + for k, item := range a { + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *Client, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.EnableSecureBoot; !dcl.IsEmptyValueIndirect(v) { + m["enableSecureBoot"] = v + } + if v := f.EnableVtpm; !dcl.IsEmptyValueIndirect(v) { + m["enableVtpm"] = v + } + if v := f.EnableIntegrityMonitoring; !dcl.IsEmptyValueIndirect(v) { + m["enableIntegrityMonitoring"] = v + } + + return m, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *Client, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } + r.EnableSecureBoot = dcl.FlattenBool(m["enableSecureBoot"]) + r.EnableVtpm = dcl.FlattenBool(m["enableVtpm"]) + r.EnableIntegrityMonitoring = dcl.FlattenBool(m["enableIntegrityMonitoring"]) + + return r +} + // expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *Client, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { @@ -17521,6 +17840,17 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigFields( if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -17529,6 +17859,9 @@ func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReserva func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func extractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { @@ -18187,6 +18520,17 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi if !dcl.IsEmptyValueIndirect(vNodeGroupAffinity) { o.NodeGroupAffinity = vNodeGroupAffinity } + vShieldedInstanceConfig := o.ShieldedInstanceConfig + if vShieldedInstanceConfig == nil { + // note: explicitly not the empty object. + vShieldedInstanceConfig = &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + } + if err := extractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r, vShieldedInstanceConfig); err != nil { + return err + } + if !dcl.IsEmptyValueIndirect(vShieldedInstanceConfig) { + o.ShieldedInstanceConfig = vShieldedInstanceConfig + } return nil } func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) error { @@ -18195,6 +18539,9 @@ func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfi func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) error { return nil } +func postReadExtractWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) error { + return nil +} func postReadExtractWorkflowTemplatePlacementManagedClusterConfigMasterConfigFields(r *WorkflowTemplate, o *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) error { vDiskConfig := o.DiskConfig if vDiskConfig == nil { diff --git a/services/google/dataproc/workflow_template_schema.go b/services/google/dataproc/workflow_template_schema.go index e2d229bfd..280d21eba 100755 --- a/services/google/dataproc/workflow_template_schema.go +++ b/services/google/dataproc/workflow_template_schema.go @@ -1297,6 +1297,33 @@ func DCLWorkflowTemplateSchema() *dcl.Schema { GoType: "string", }, }, + "shieldedInstanceConfig": &dcl.Property{ + Type: "object", + GoName: "ShieldedInstanceConfig", + GoType: "WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig", + Description: "Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs.", + Immutable: true, + Properties: map[string]*dcl.Property{ + "enableIntegrityMonitoring": &dcl.Property{ + Type: "boolean", + GoName: "EnableIntegrityMonitoring", + Description: "Optional. Defines whether instances have integrity monitoring enabled. Integrity monitoring compares the most recent boot measurements to the integrity policy baseline and returns a pair of pass/fail results depending on whether they match or not.", + Immutable: true, + }, + "enableSecureBoot": &dcl.Property{ + Type: "boolean", + GoName: "EnableSecureBoot", + Description: "Optional. Defines whether the instances have Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", + Immutable: true, + }, + "enableVtpm": &dcl.Property{ + Type: "boolean", + GoName: "EnableVtpm", + Description: "Optional. Defines whether the instance have the vTPM enabled. Virtual Trusted Platform Module protects objects like keys, certificates and enables Measured Boot by performing the measurements needed to create a known good boot baseline, called the integrity policy baseline.", + Immutable: true, + }, + }, + }, "subnetwork": &dcl.Property{ Type: "string", GoName: "Subnetwork", diff --git a/services/google/dataproc/workflow_template_yaml_embed.go b/services/google/dataproc/workflow_template_yaml_embed.go index 0fbf61565..c82f743e1 100755 --- a/services/google/dataproc/workflow_template_yaml_embed.go +++ b/services/google/dataproc/workflow_template_yaml_embed.go @@ -17,7 +17,7 @@ package dataproc // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dataproc/workflow_template.yaml -var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") +var YAML_workflow_template = []byte("info:\n title: Dataproc/WorkflowTemplate\n description: The Dataproc WorkflowTemplate resource\n x-dcl-struct-name: WorkflowTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n apply:\n description: The function used to apply information about a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n delete:\n description: The function used to delete a WorkflowTemplate\n parameters:\n - name: WorkflowTemplate\n required: true\n description: A full instance of a WorkflowTemplate\n deleteAll:\n description: The function used to delete all WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many WorkflowTemplate\n parameters:\n - name: project\n required: true\n schema:\n type: string\n - name: location\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n WorkflowTemplate:\n title: WorkflowTemplate\n x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}\n x-dcl-parent-container: project\n x-dcl-labels: labels\n x-dcl-has-create: true\n x-dcl-has-iam: false\n x-dcl-read-timeout: 0\n x-dcl-apply-timeout: 0\n x-dcl-delete-timeout: 0\n type: object\n required:\n - name\n - placement\n - jobs\n - project\n - location\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. The time template was created.\n x-kubernetes-immutable: true\n dagTimeout:\n type: string\n x-dcl-go-name: DagTimeout\n description: Optional. Timeout duration for the DAG of jobs, expressed in\n seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\").\n The timer begins when the first job is submitted. If the workflow is running\n at the end of the timeout period, any remaining jobs are cancelled, the\n workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\n the cluster is deleted.\n x-kubernetes-immutable: true\n jobs:\n type: array\n x-dcl-go-name: Jobs\n description: Required. The Directed Acyclic Graph of Jobs to submit.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateJobs\n required:\n - stepId\n properties:\n hadoopJob:\n type: object\n x-dcl-go-name: HadoopJob\n x-dcl-go-type: WorkflowTemplateJobsHadoopJob\n description: Optional. Job is a Hadoop job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n in the working directory of Hadoop drivers and tasks. Supported\n file types: .jar, .tar, .tar.gz, .tgz, or .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `-libjars` or `-Dfoo=bar`, that\n can be set as job properties, since a collision may occur that\n causes an incorrect job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS (Hadoop Compatible Filesystem) URIs\n of files to be copied to the working directory of Hadoop drivers\n and distributed tasks. Useful for naively parallel tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. Jar file URIs to add to the CLASSPATHs\n of the Hadoop driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n containing the class must be in the default CLASSPATH or specified\n in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: 'The HCFS URI of the jar file containing the main\n class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''\n ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Hadoop. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site and classes in user code.\n x-kubernetes-immutable: true\n hiveJob:\n type: object\n x-dcl-go-name: HiveJob\n x-dcl-go-type: WorkflowTemplateJobsHiveJob\n description: Optional. Job is a Hive job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Hive server and Hadoop MapReduce (MR) tasks. Can contain\n Hive SerDes and UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names and values,\n used to configure Hive. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains Hive queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Hive command: `SET name=\"value\";`).'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this job. Label\n keys must be between 1 and 63 characters long, and must conform\n to the following regular expression: p{Ll}p{Lo}{0,62} Label values\n must be between 1 and 63 characters long, and must conform to the\n following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than\n 32 labels can be associated with a given job.'\n x-kubernetes-immutable: true\n pigJob:\n type: object\n x-dcl-go-name: PigJob\n x-dcl-go-type: WorkflowTemplateJobsPigJob\n description: Optional. Job is a Pig job.\n x-kubernetes-immutable: true\n properties:\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATH\n of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain\n Pig UDFs.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Pig. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,\n and classes in user code.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains the Pig\n queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Pig command: `name=[value]`).'\n x-kubernetes-immutable: true\n prerequisiteStepIds:\n type: array\n x-dcl-go-name: PrerequisiteStepIds\n description: Optional. The optional list of prerequisite job step_ids.\n If not specified, the job will start at the beginning of workflow.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n prestoJob:\n type: object\n x-dcl-go-name: PrestoJob\n x-dcl-go-type: WorkflowTemplateJobsPrestoJob\n description: Optional. Job is a Presto job.\n x-kubernetes-immutable: true\n properties:\n clientTags:\n type: array\n x-dcl-go-name: ClientTags\n description: Optional. Presto client tags to attach to this query\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n continueOnFailure:\n type: boolean\n x-dcl-go-name: ContinueOnFailure\n description: Optional. Whether to continue executing queries if\n a query fails. The default value is `false`. Setting to `true`\n can be useful when executing independent parallel queries.\n x-kubernetes-immutable: true\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n outputFormat:\n type: string\n x-dcl-go-name: OutputFormat\n description: Optional. The format in which query output will be\n displayed. See the Presto documentation for supported output\n formats\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values.\n Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)\n Equivalent to using the --session flag in the Presto CLI\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n pysparkJob:\n type: object\n x-dcl-go-name: PysparkJob\n x-dcl-go-type: WorkflowTemplateJobsPysparkJob\n description: Optional. Job is a PySpark job.\n x-kubernetes-immutable: true\n required:\n - mainPythonFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Python driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainPythonFileUri:\n type: string\n x-dcl-go-name: MainPythonFileUri\n description: Required. The HCFS URI of the main Python file to\n use as the driver. Must be a .py file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure PySpark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n pythonFileUris:\n type: array\n x-dcl-go-name: PythonFileUris\n description: 'Optional. HCFS file URIs of Python files to pass\n to the PySpark framework. Supported file types: .py, .egg, and\n .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scheduling:\n type: object\n x-dcl-go-name: Scheduling\n x-dcl-go-type: WorkflowTemplateJobsScheduling\n description: Optional. Job scheduling configuration.\n x-kubernetes-immutable: true\n properties:\n maxFailuresPerHour:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresPerHour\n description: Optional. Maximum number of times per hour a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. A job may be reported as\n thrashing if driver exits with non-zero code 4 times within\n 10 minute window. Maximum value is 10.\n x-kubernetes-immutable: true\n maxFailuresTotal:\n type: integer\n format: int64\n x-dcl-go-name: MaxFailuresTotal\n description: Optional. Maximum number of times in total a driver\n may be restarted as a result of driver exiting with non-zero\n code before job is reported failed. Maximum value is 240.\n x-kubernetes-immutable: true\n sparkJob:\n type: object\n x-dcl-go-name: SparkJob\n x-dcl-go-type: WorkflowTemplateJobsSparkJob\n description: Optional. Job is a Spark job.\n x-kubernetes-immutable: true\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to add to the CLASSPATHs\n of the Spark driver and tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainClass:\n type: string\n x-dcl-go-name: MainClass\n description: The name of the driver's main class. The jar file\n that contains the class must be in the default CLASSPATH or\n specified in `jar_file_uris`.\n x-kubernetes-immutable: true\n mainJarFileUri:\n type: string\n x-dcl-go-name: MainJarFileUri\n description: The HCFS URI of the jar file that contains the main\n class.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkRJob:\n type: object\n x-dcl-go-name: SparkRJob\n x-dcl-go-type: WorkflowTemplateJobsSparkRJob\n description: Optional. Job is a SparkR job.\n x-kubernetes-immutable: true\n required:\n - mainRFileUri\n properties:\n archiveUris:\n type: array\n x-dcl-go-name: ArchiveUris\n description: 'Optional. HCFS URIs of archives to be extracted\n into the working directory of each executor. Supported file\n types: .jar, .tar, .tar.gz, .tgz, and .zip.'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n args:\n type: array\n x-dcl-go-name: Args\n description: Optional. The arguments to pass to the driver. Do\n not include arguments, such as `--conf`, that can be set as\n job properties, since a collision may occur that causes an incorrect\n job submission.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n fileUris:\n type: array\n x-dcl-go-name: FileUris\n description: Optional. HCFS URIs of files to be placed in the\n working directory of each executor. Useful for naively parallel\n tasks.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n mainRFileUri:\n type: string\n x-dcl-go-name: MainRFileUri\n description: Required. The HCFS URI of the main R file to use\n as the driver. Must be a .R file.\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure SparkR. Properties that conflict with values\n set by the Dataproc API may be overwritten. Can include properties\n set in /etc/spark/conf/spark-defaults.conf and classes in user\n code.\n x-kubernetes-immutable: true\n sparkSqlJob:\n type: object\n x-dcl-go-name: SparkSqlJob\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob\n description: Optional. Job is a SparkSql job.\n x-kubernetes-immutable: true\n properties:\n jarFileUris:\n type: array\n x-dcl-go-name: JarFileUris\n description: Optional. HCFS URIs of jar files to be added to the\n Spark CLASSPATH.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n loggingConfig:\n type: object\n x-dcl-go-name: LoggingConfig\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig\n description: Optional. The runtime log config for job execution.\n x-kubernetes-immutable: true\n properties:\n driverLogLevels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: DriverLogLevels\n description: 'The per-package log levels for the driver. This\n may include \"root\" package name to configure rootLogger.\n Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache\n = DEBUG'''\n x-kubernetes-immutable: true\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: Optional. A mapping of property names to values,\n used to configure Spark SQL's SparkConf. Properties that conflict\n with values set by the Dataproc API may be overwritten.\n x-kubernetes-immutable: true\n queryFileUri:\n type: string\n x-dcl-go-name: QueryFileUri\n description: The HCFS URI of the script that contains SQL queries.\n x-kubernetes-immutable: true\n queryList:\n type: object\n x-dcl-go-name: QueryList\n x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList\n description: A list of queries.\n x-kubernetes-immutable: true\n required:\n - queries\n properties:\n queries:\n type: array\n x-dcl-go-name: Queries\n description: 'Required. The queries to execute. You do not\n need to end a query expression with a semicolon. Multiple\n queries can be specified in one string by separating each\n with a semicolon. Here is an example of a Dataproc API snippet\n that uses a QueryList to specify a HiveJob: \"hiveJob\": {\n \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\",\n ] } }'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n scriptVariables:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ScriptVariables\n description: 'Optional. Mapping of query variable names to values\n (equivalent to the Spark SQL command: SET `name=\"value\";`).'\n x-kubernetes-immutable: true\n stepId:\n type: string\n x-dcl-go-name: StepId\n description: Required. The step id. The id must be unique among all\n jobs within the template. The step id is used as prefix for job\n id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds\n field from other steps. The id must contain only letters (a-z, A-Z),\n numbers (0-9), underscores (_), and hyphens (-). Cannot begin or\n end with underscore or hyphen. Must consist of between 3 and 50\n characters.\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: Optional. The labels to associate with this template. These\n labels will be propagated to all jobs and clusters created by the workflow\n instance. Label **keys** must contain 1 to 63 characters, and must conform\n to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**\n may be empty, but, if present, must contain 1 to 63 characters, and must\n conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than\n 32 labels can be associated with a template.\n x-kubernetes-immutable: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location for the resource\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The resource name of the workflow template, as\n described in https://cloud.google.com/apis/design/resource_names. * For\n `projects.regions.workflowTemplates`, the resource name of the template\n has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n * For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`'\n x-kubernetes-immutable: true\n parameters:\n type: array\n x-dcl-go-name: Parameters\n description: Optional. Template parameters whose values are substituted\n into the template. Values for parameters must be provided when the template\n is instantiated.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplateParameters\n required:\n - name\n - fields\n properties:\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. Brief description of the parameter. Must not\n exceed 1024 characters.\n x-kubernetes-immutable: true\n fields:\n type: array\n x-dcl-go-name: Fields\n description: 'Required. Paths to all fields that the parameter replaces.\n A field is allowed to appear in at most one parameter''s list of\n field paths. A field path is similar in syntax to a google.protobuf.FieldMask.\n For example, a field path that references the zone field of a workflow\n template''s cluster selector would be specified as `placement.clusterSelector.zone`.\n Also, field paths can reference fields using the following syntax:\n * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']\n * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can\n be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri\n * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri\n * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]\n * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]\n * Items in repeated fields can be referenced by a zero-based index:\n * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']\n * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']\n * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone\n It may not be possible to parameterize maps and repeated fields\n in their entirety since only individual map values and individual\n items in repeated fields can be referenced. For example, the following\n field paths are invalid: - placement.clusterSelector.clusterLabels\n - jobs[''step-id''].sparkJob.args'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n name:\n type: string\n x-dcl-go-name: Name\n description: Required. Parameter name. The parameter name is used\n as the key, and paired with the parameter value, which are passed\n to the template when the template is instantiated. The name must\n contain only capital letters (A-Z), numbers (0-9), and underscores\n (_), and must not start with a number. The maximum length is 40\n characters.\n x-kubernetes-immutable: true\n validation:\n type: object\n x-dcl-go-name: Validation\n x-dcl-go-type: WorkflowTemplateParametersValidation\n description: Optional. Validation rules to be applied to this parameter's\n value.\n x-kubernetes-immutable: true\n properties:\n regex:\n type: object\n x-dcl-go-name: Regex\n x-dcl-go-type: WorkflowTemplateParametersValidationRegex\n description: Validation based on regular expressions.\n x-kubernetes-immutable: true\n required:\n - regexes\n properties:\n regexes:\n type: array\n x-dcl-go-name: Regexes\n description: Required. RE2 regular expressions used to validate\n the parameter's value. The value must match the regex in\n its entirety (substring matches are not sufficient).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n values:\n type: object\n x-dcl-go-name: Values\n x-dcl-go-type: WorkflowTemplateParametersValidationValues\n description: Validation based on a list of allowed values.\n x-kubernetes-immutable: true\n required:\n - values\n properties:\n values:\n type: array\n x-dcl-go-name: Values\n description: Required. List of allowed values for the parameter.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n placement:\n type: object\n x-dcl-go-name: Placement\n x-dcl-go-type: WorkflowTemplatePlacement\n description: Required. WorkflowTemplate scheduling information.\n x-kubernetes-immutable: true\n properties:\n clusterSelector:\n type: object\n x-dcl-go-name: ClusterSelector\n x-dcl-go-type: WorkflowTemplatePlacementClusterSelector\n description: Optional. A selector that chooses target cluster for jobs\n based on metadata. The selector is evaluated at the time each job\n is submitted.\n x-kubernetes-immutable: true\n required:\n - clusterLabels\n properties:\n clusterLabels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: ClusterLabels\n description: Required. The cluster labels. Cluster must have all\n labels to match.\n x-kubernetes-immutable: true\n zone:\n type: string\n x-dcl-go-name: Zone\n description: Optional. The zone where workflow process executes.\n This parameter does not affect the selection of the cluster. If\n unspecified, the zone of the first cluster matching the selector\n is used.\n x-kubernetes-immutable: true\n managedCluster:\n type: object\n x-dcl-go-name: ManagedCluster\n x-dcl-go-type: WorkflowTemplatePlacementManagedCluster\n description: A cluster that is managed by the workflow.\n x-kubernetes-immutable: true\n required:\n - clusterName\n - config\n properties:\n clusterName:\n type: string\n x-dcl-go-name: ClusterName\n description: Required. The cluster name prefix. A unique cluster\n name will be formed by appending a random suffix. The name must\n contain only lower-case letters (a-z), numbers (0-9), and hyphens\n (-). Must begin with a letter. Cannot begin or end with hyphen.\n Must consist of between 2 and 35 characters.\n x-kubernetes-immutable: true\n config:\n type: object\n x-dcl-go-name: Config\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig\n description: Required. The cluster configuration.\n x-kubernetes-immutable: true\n properties:\n autoscalingConfig:\n type: object\n x-dcl-go-name: AutoscalingConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig\n description: Optional. Autoscaling config for the policy associated\n with the cluster. Cluster does not autoscale if this field\n is unset.\n x-kubernetes-immutable: true\n properties:\n policy:\n type: string\n x-dcl-go-name: Policy\n description: 'Optional. The autoscaling policy used by the\n cluster. Only resource names including projectid and location\n (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`\n Note that the policy must be in the same project and Dataproc\n region.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Dataproc/AutoscalingPolicy\n field: name\n encryptionConfig:\n type: object\n x-dcl-go-name: EncryptionConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig\n description: Optional. Encryption settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n gcePdKmsKeyName:\n type: string\n x-dcl-go-name: GcePdKmsKeyName\n description: Optional. The Cloud KMS key name to use for\n PD disk encryption for all instances in the cluster.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n endpointConfig:\n type: object\n x-dcl-go-name: EndpointConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig\n description: Optional. Port/endpoint configuration for this\n cluster\n x-kubernetes-immutable: true\n properties:\n enableHttpPortAccess:\n type: boolean\n x-dcl-go-name: EnableHttpPortAccess\n description: Optional. If true, enable http access to specific\n ports on the cluster from external sources. Defaults to\n false.\n x-kubernetes-immutable: true\n httpPorts:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: HttpPorts\n readOnly: true\n description: Output only. The map of port descriptions to\n URLs. Will only be populated if enable_http_port_access\n is true.\n x-kubernetes-immutable: true\n gceClusterConfig:\n type: object\n x-dcl-go-name: GceClusterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig\n description: Optional. The shared Compute Engine config settings\n for all instances in a cluster.\n x-kubernetes-immutable: true\n properties:\n internalIPOnly:\n type: boolean\n x-dcl-go-name: InternalIPOnly\n description: Optional. If true, all instances in the cluster\n will only have internal IP addresses. By default, clusters\n are not restricted to internal IP addresses, and will\n have ephemeral external IP addresses assigned to each\n instance. This `internal_ip_only` restriction can only\n be enabled for subnetwork enabled networks, and all off-cluster\n dependencies must be configured to be accessible without\n external IP addresses.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n metadata:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Metadata\n description: The Compute Engine metadata entries to add\n to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).\n x-kubernetes-immutable: true\n network:\n type: string\n x-dcl-go-name: Network\n description: 'Optional. The Compute Engine network to be\n used for machine communications. Cannot be specified with\n subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`\n is specified, the \"default\" network of the project is\n used, if it exists. Cannot be a \"Custom Subnet Network\"\n (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)\n for more information). A full URL, partial URI, or short\n name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`\n * `projects/[project_id]/regions/global/default` * `default`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Network\n field: selfLink\n nodeGroupAffinity:\n type: object\n x-dcl-go-name: NodeGroupAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity\n description: Optional. Node Group Affinity for sole-tenant\n clusters.\n x-kubernetes-immutable: true\n required:\n - nodeGroup\n properties:\n nodeGroup:\n type: string\n x-dcl-go-name: NodeGroup\n description: 'Required. The URI of a sole-tenant [node\n group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)\n that the cluster will be created on. A full URL, partial\n URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`\n * `node-group-1`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/NodeGroup\n field: selfLink\n privateIPv6GoogleAccess:\n type: string\n x-dcl-go-name: PrivateIPv6GoogleAccess\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum\n description: 'Optional. The type of IPv6 access for a cluster.\n Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,\n INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'\n x-kubernetes-immutable: true\n enum:\n - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED\n - INHERIT_FROM_SUBNETWORK\n - OUTBOUND\n - BIDIRECTIONAL\n reservationAffinity:\n type: object\n x-dcl-go-name: ReservationAffinity\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity\n description: Optional. Reservation Affinity for consuming\n Zonal reservation.\n x-kubernetes-immutable: true\n properties:\n consumeReservationType:\n type: string\n x-dcl-go-name: ConsumeReservationType\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum\n description: 'Optional. Type of reservation to consume\n Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,\n ANY_RESERVATION, SPECIFIC_RESERVATION'\n x-kubernetes-immutable: true\n enum:\n - TYPE_UNSPECIFIED\n - NO_RESERVATION\n - ANY_RESERVATION\n - SPECIFIC_RESERVATION\n key:\n type: string\n x-dcl-go-name: Key\n description: Optional. Corresponds to the label key\n of reservation resource.\n x-kubernetes-immutable: true\n values:\n type: array\n x-dcl-go-name: Values\n description: Optional. Corresponds to the label values\n of reservation resource.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n serviceAccount:\n type: string\n x-dcl-go-name: ServiceAccount\n description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)\n (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))\n used by Dataproc cluster VM instances to access Google\n Cloud Platform services. If not specified, the [Compute\n Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)\n is used.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n serviceAccountScopes:\n type: array\n x-dcl-go-name: ServiceAccountScopes\n description: 'Optional. The URIs of service account scopes\n to be included in Compute Engine instances. The following\n base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly\n * https://www.googleapis.com/auth/devstorage.read_write\n * https://www.googleapis.com/auth/logging.write If no\n scopes are specified, the following defaults are also\n provided: * https://www.googleapis.com/auth/bigquery *\n https://www.googleapis.com/auth/bigtable.admin.table *\n https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n shieldedInstanceConfig:\n type: object\n x-dcl-go-name: ShieldedInstanceConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig\n description: Optional. Shielded Instance Config for clusters\n using Compute Engine Shielded VMs.\n x-kubernetes-immutable: true\n properties:\n enableIntegrityMonitoring:\n type: boolean\n x-dcl-go-name: EnableIntegrityMonitoring\n description: Optional. Defines whether instances have\n integrity monitoring enabled. Integrity monitoring\n compares the most recent boot measurements to the\n integrity policy baseline and returns a pair of pass/fail\n results depending on whether they match or not.\n x-kubernetes-immutable: true\n enableSecureBoot:\n type: boolean\n x-dcl-go-name: EnableSecureBoot\n description: Optional. Defines whether the instances\n have Secure Boot enabled. Secure Boot helps ensure\n that the system only runs authentic software by verifying\n the digital signature of all boot components, and\n halting the boot process if signature verification\n fails.\n x-kubernetes-immutable: true\n enableVtpm:\n type: boolean\n x-dcl-go-name: EnableVtpm\n description: Optional. Defines whether the instance\n have the vTPM enabled. Virtual Trusted Platform Module\n protects objects like keys, certificates and enables\n Measured Boot by performing the measurements needed\n to create a known good boot baseline, called the integrity\n policy baseline.\n x-kubernetes-immutable: true\n subnetwork:\n type: string\n x-dcl-go-name: Subnetwork\n description: 'Optional. The Compute Engine subnetwork to\n be used for machine communications. Cannot be specified\n with network_uri. A full URL, partial URI, or short name\n are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `projects/[project_id]/regions/us-east1/subnetworks/sub0`\n * `sub0`'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Subnetwork\n field: selfLink\n tags:\n type: array\n x-dcl-go-name: Tags\n description: The Compute Engine tags to add to all instances\n (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: set\n items:\n type: string\n x-dcl-go-type: string\n zone:\n type: string\n x-dcl-go-name: Zone\n description: 'Optional. The zone where the Compute Engine\n cluster will be located. On a create request, it is required\n in the \"global\" region. If omitted in a non-global Dataproc\n region, the service will pick a zone in the corresponding\n Compute Engine region. On a get request, zone will always\n be present. A full URL, partial URI, or short name are\n valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`\n * `projects/[project_id]/zones/[zone]` * `us-central1-f`'\n x-kubernetes-immutable: true\n initializationActions:\n type: array\n x-dcl-go-name: InitializationActions\n description: 'Optional. Commands to execute on each node after\n config is completed. By default, executables are run on master\n and all worker nodes. You can test a node''s `role` metadata\n to run an executable on a master or worker node, as shown\n below using `curl` (you can also use `wget`): ROLE=$(curl\n -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == ''Master'' ]]; then ... master specific\n actions ... else ... worker specific actions ... fi'\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions\n properties:\n executableFile:\n type: string\n x-dcl-go-name: ExecutableFile\n description: Required. Cloud Storage URI of executable\n file.\n x-kubernetes-immutable: true\n executionTimeout:\n type: string\n x-dcl-go-name: ExecutionTimeout\n description: Optional. Amount of time executable has to\n complete. Default is 10 minutes (see JSON representation\n of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n Cluster creation fails with an explanatory error message\n (the name of the executable that caused the error and\n the exceeded timeout period) if the executable is not\n completed at end of the timeout period.\n x-kubernetes-immutable: true\n lifecycleConfig:\n type: object\n x-dcl-go-name: LifecycleConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig\n description: Optional. Lifecycle setting for the cluster.\n x-kubernetes-immutable: true\n properties:\n autoDeleteTime:\n type: string\n format: date-time\n x-dcl-go-name: AutoDeleteTime\n description: Optional. The time when cluster will be auto-deleted\n (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n autoDeleteTtl:\n type: string\n x-dcl-go-name: AutoDeleteTtl\n description: Optional. The lifetime duration of cluster.\n The cluster will be auto-deleted at the end of this period.\n Minimum value is 10 minutes; maximum value is 14 days\n (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleDeleteTtl:\n type: string\n x-dcl-go-name: IdleDeleteTtl\n description: Optional. The duration to keep the cluster\n alive while idling (when no jobs are running). Passing\n this threshold will cause the cluster to be deleted. Minimum\n value is 5 minutes; maximum value is 14 days (see JSON\n representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n idleStartTime:\n type: string\n format: date-time\n x-dcl-go-name: IdleStartTime\n readOnly: true\n description: Output only. The time when cluster became idle\n (most recent job finished) and became eligible for deletion\n due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).\n x-kubernetes-immutable: true\n masterConfig:\n type: object\n x-dcl-go-name: MasterConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig\n description: Optional. The Compute Engine config settings for\n the master instance in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n secondaryWorkerConfig:\n type: object\n x-dcl-go-name: SecondaryWorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig\n description: Optional. The Compute Engine config settings for\n additional worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n securityConfig:\n type: object\n x-dcl-go-name: SecurityConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig\n description: Optional. Security settings for the cluster.\n x-kubernetes-immutable: true\n properties:\n kerberosConfig:\n type: object\n x-dcl-go-name: KerberosConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig\n description: Optional. Kerberos related configuration.\n x-kubernetes-immutable: true\n properties:\n crossRealmTrustAdminServer:\n type: string\n x-dcl-go-name: CrossRealmTrustAdminServer\n description: Optional. The admin server (IP or hostname)\n for the remote trusted realm in a cross realm trust\n relationship.\n x-kubernetes-immutable: true\n crossRealmTrustKdc:\n type: string\n x-dcl-go-name: CrossRealmTrustKdc\n description: Optional. The KDC (IP or hostname) for\n the remote trusted realm in a cross realm trust relationship.\n x-kubernetes-immutable: true\n crossRealmTrustRealm:\n type: string\n x-dcl-go-name: CrossRealmTrustRealm\n description: Optional. The remote realm the Dataproc\n on-cluster KDC will trust, should the user enable\n cross realm trust.\n x-kubernetes-immutable: true\n crossRealmTrustSharedPassword:\n type: string\n x-dcl-go-name: CrossRealmTrustSharedPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the shared password between\n the on-cluster Kerberos realm and the remote trusted\n realm, in a cross realm trust relationship.\n x-kubernetes-immutable: true\n enableKerberos:\n type: boolean\n x-dcl-go-name: EnableKerberos\n description: 'Optional. Flag to indicate whether to\n Kerberize the cluster (default: false). Set this field\n to true to enable Kerberos on a cluster.'\n x-kubernetes-immutable: true\n kdcDbKey:\n type: string\n x-dcl-go-name: KdcDbKey\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the master key of the KDC\n database.\n x-kubernetes-immutable: true\n keyPassword:\n type: string\n x-dcl-go-name: KeyPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided key. For the self-signed certificate, this\n password is generated by Dataproc.\n x-kubernetes-immutable: true\n keystore:\n type: string\n x-dcl-go-name: Keystore\n description: Optional. The Cloud Storage URI of the\n keystore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n keystorePassword:\n type: string\n x-dcl-go-name: KeystorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided keystore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n kmsKey:\n type: string\n x-dcl-go-name: KmsKey\n description: Optional. The uri of the KMS key used to\n encrypt various sensitive files.\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: selfLink\n realm:\n type: string\n x-dcl-go-name: Realm\n description: Optional. The name of the on-cluster Kerberos\n realm. If not specified, the uppercased domain of\n hostnames will be the realm.\n x-kubernetes-immutable: true\n rootPrincipalPassword:\n type: string\n x-dcl-go-name: RootPrincipalPassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the root principal password.\n x-kubernetes-immutable: true\n tgtLifetimeHours:\n type: integer\n format: int64\n x-dcl-go-name: TgtLifetimeHours\n description: Optional. The lifetime of the ticket granting\n ticket, in hours. If not specified, or user specifies\n 0, then default value 10 will be used.\n x-kubernetes-immutable: true\n truststore:\n type: string\n x-dcl-go-name: Truststore\n description: Optional. The Cloud Storage URI of the\n truststore file used for SSL encryption. If not provided,\n Dataproc will provide a self-signed certificate.\n x-kubernetes-immutable: true\n truststorePassword:\n type: string\n x-dcl-go-name: TruststorePassword\n description: Optional. The Cloud Storage URI of a KMS\n encrypted file containing the password to the user\n provided truststore. For the self-signed certificate,\n this password is generated by Dataproc.\n x-kubernetes-immutable: true\n softwareConfig:\n type: object\n x-dcl-go-name: SoftwareConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig\n description: Optional. The config settings for software inside\n the cluster.\n x-kubernetes-immutable: true\n properties:\n imageVersion:\n type: string\n x-dcl-go-name: ImageVersion\n description: Optional. The version of software inside the\n cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),\n such as \"1.2\" (including a subminor version, such as \"1.2.29\"),\n or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).\n If unspecified, it defaults to the latest Debian version.\n x-kubernetes-immutable: true\n optionalComponents:\n type: array\n x-dcl-go-name: OptionalComponents\n description: Optional. The set of components to activate\n on the cluster.\n x-kubernetes-immutable: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum\n enum:\n - COMPONENT_UNSPECIFIED\n - ANACONDA\n - DOCKER\n - DRUID\n - FLINK\n - HBASE\n - HIVE_WEBHCAT\n - JUPYTER\n - KERBEROS\n - PRESTO\n - RANGER\n - SOLR\n - ZEPPELIN\n - ZOOKEEPER\n properties:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Properties\n description: 'Optional. The properties to set on daemon\n config files. Property keys are specified in `prefix:property`\n format, for example `core:hadoop.tmp.dir`. The following\n are supported prefixes and their mappings: * capacity-scheduler:\n `capacity-scheduler.xml` * core: `core-site.xml` * distcp:\n `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`\n * mapred: `mapred-site.xml` * pig: `pig.properties` *\n spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For\n more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'\n x-kubernetes-immutable: true\n stagingBucket:\n type: string\n x-dcl-go-name: StagingBucket\n description: Optional. A Cloud Storage bucket used to stage\n job dependencies, config files, and job driver console output.\n If you do not specify a staging bucket, Cloud Dataproc will\n determine a Cloud Storage location (US, ASIA, or EU) for your\n cluster's staging bucket according to the Compute Engine zone\n where your cluster is deployed, and then create and manage\n this project-level, per-location bucket (see [Dataproc staging\n bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n **This field requires a Cloud Storage bucket name, not a URI\n to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n tempBucket:\n type: string\n x-dcl-go-name: TempBucket\n description: Optional. A Cloud Storage bucket used to store\n ephemeral cluster and jobs data, such as Spark and MapReduce\n history files. If you do not specify a temp bucket, Dataproc\n will determine a Cloud Storage location (US, ASIA, or EU)\n for your cluster's temp bucket according to the Compute Engine\n zone where your cluster is deployed, and then create and manage\n this project-level, per-location bucket. The default bucket\n has a TTL of 90 days, but you can use any TTL (or none) if\n you specify a bucket. **This field requires a Cloud Storage\n bucket name, not a URI to a Cloud Storage bucket.**\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Storage/Bucket\n field: name\n workerConfig:\n type: object\n x-dcl-go-name: WorkerConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig\n description: Optional. The Compute Engine config settings for\n worker instances in a cluster.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n accelerators:\n type: array\n x-dcl-go-name: Accelerators\n description: Optional. The Compute Engine accelerator configuration\n for these instances.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators\n properties:\n acceleratorCount:\n type: integer\n format: int64\n x-dcl-go-name: AcceleratorCount\n description: The number of the accelerator cards of\n this type exposed to this instance.\n x-kubernetes-immutable: true\n acceleratorType:\n type: string\n x-dcl-go-name: AcceleratorType\n description: 'Full URL, partial URI, or short name\n of the accelerator type resource to expose to this\n instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).\n Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`\n * `nvidia-tesla-k80` **Auto Zone Exception**: If\n you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the accelerator\n type resource, for example, `nvidia-tesla-k80`.'\n x-kubernetes-immutable: true\n diskConfig:\n type: object\n x-dcl-go-name: DiskConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig\n description: Optional. Disk option config settings.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n bootDiskSizeGb:\n type: integer\n format: int64\n x-dcl-go-name: BootDiskSizeGb\n description: Optional. Size in GB of the boot disk (default\n is 500GB).\n x-kubernetes-immutable: true\n bootDiskType:\n type: string\n x-dcl-go-name: BootDiskType\n description: 'Optional. Type of the boot disk (default\n is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent\n Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent\n Disk Solid State Drive), or \"pd-standard\" (Persistent\n Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'\n x-kubernetes-immutable: true\n numLocalSsds:\n type: integer\n format: int64\n x-dcl-go-name: NumLocalSsds\n description: Optional. Number of attached SSDs, from\n 0 to 4 (default is 0). If SSDs are not attached, the\n boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)\n data. If one or more SSDs are attached, this runtime\n bulk data is spread across them, and the boot disk\n contains only basic config and installed binaries.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n image:\n type: string\n x-dcl-go-name: Image\n description: 'Optional. The Compute Engine image resource\n used for cluster instances. The URI can represent an image\n or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`\n * `projects/[project_id]/global/images/[image-id]` * `image-id`\n Image family examples. Dataproc will use the most recent\n image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`\n * `projects/[project_id]/global/images/family/[custom-image-family-name]`\n If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`\n or the system default.'\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Compute/Image\n field: selfLink\n instanceNames:\n type: array\n x-dcl-go-name: InstanceNames\n readOnly: true\n description: Output only. The list of instance names. Dataproc\n derives the names from `cluster_name`, `num_instances`,\n and the instance group.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n x-dcl-references:\n - resource: Compute/Instance\n field: selfLink\n isPreemptible:\n type: boolean\n x-dcl-go-name: IsPreemptible\n readOnly: true\n description: Output only. Specifies that this instance group\n contains preemptible instances.\n x-kubernetes-immutable: true\n machineType:\n type: string\n x-dcl-go-name: MachineType\n description: 'Optional. The Compute Engine machine type\n used for cluster instances. A full URL, partial URI, or\n short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`\n * `n1-standard-2` **Auto Zone Exception**: If you are\n using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\n feature, you must use the short name of the machine type\n resource, for example, `n1-standard-2`.'\n x-kubernetes-immutable: true\n managedGroupConfig:\n type: object\n x-dcl-go-name: ManagedGroupConfig\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig\n readOnly: true\n description: Output only. The config for Compute Engine\n Instance Group Manager that manages this group. This is\n only used for preemptible instance groups.\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n properties:\n instanceGroupManagerName:\n type: string\n x-dcl-go-name: InstanceGroupManagerName\n readOnly: true\n description: Output only. The name of the Instance Group\n Manager for this group.\n x-kubernetes-immutable: true\n instanceTemplateName:\n type: string\n x-dcl-go-name: InstanceTemplateName\n readOnly: true\n description: Output only. The name of the Instance Template\n used for the Managed Instance Group.\n x-kubernetes-immutable: true\n minCpuPlatform:\n type: string\n x-dcl-go-name: MinCpuPlatform\n description: Optional. Specifies the minimum cpu platform\n for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n x-kubernetes-immutable: true\n x-dcl-server-default: true\n numInstances:\n type: integer\n format: int64\n x-dcl-go-name: NumInstances\n description: Optional. The number of VM instances in the\n instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n [master_config](#FIELDS.master_config) groups, **must\n be set to 3**. For standard cluster [master_config](#FIELDS.master_config)\n groups, **must be set to 1**.\n x-kubernetes-immutable: true\n preemptibility:\n type: string\n x-dcl-go-name: Preemptibility\n x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum\n description: 'Optional. Specifies the preemptibility of\n the instance group. The default value for master and worker\n groups is `NON_PREEMPTIBLE`. This default cannot be changed.\n The default value for secondary instances is `PREEMPTIBLE`.\n Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,\n PREEMPTIBLE'\n x-kubernetes-immutable: true\n enum:\n - PREEMPTIBILITY_UNSPECIFIED\n - NON_PREEMPTIBLE\n - PREEMPTIBLE\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: 'Optional. The labels to associate with this cluster.\n Label keys must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}\n Label values must be between 1 and 63 characters long, and must\n conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}\n No more than 32 labels can be associated with a given cluster.'\n x-kubernetes-immutable: true\n project:\n type: string\n x-dcl-go-name: Project\n description: The project for the resource\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. The time template was last updated.\n x-kubernetes-immutable: true\n version:\n type: integer\n format: int64\n x-dcl-go-name: Version\n readOnly: true\n description: Output only. The current version of this workflow template.\n x-kubernetes-immutable: true\n") -// 126004 bytes -// MD5: 07b7a370f4f96b993f941cd8df6b5bc6 +// 128519 bytes +// MD5: 9ba0470ea68d60ac0ac5a9a1408664f7 diff --git a/unstructured/google/dataproc/alpha/workflow_template.go b/unstructured/google/dataproc/alpha/workflow_template.go index 911d79e4c..131f0fd63 100755 --- a/unstructured/google/dataproc/alpha/workflow_template.go +++ b/unstructured/google/dataproc/alpha/workflow_template.go @@ -584,6 +584,19 @@ func WorkflowTemplateToUnstructured(r *dclService.WorkflowTemplate) *unstructure rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes = append(rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes, rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopesVal) } rPlacementManagedClusterConfigGceClusterConfig["serviceAccountScopes"] = rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig := make(map[string]interface{}) + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm + } + rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"] = rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } if r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork != nil { rPlacementManagedClusterConfigGceClusterConfig["subnetwork"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork } @@ -2050,6 +2063,34 @@ func UnstructuredToWorkflowTemplate(u *unstructured.Resource) (*dclService.Workf return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccountScopes: expected []interface{}") } } + if _, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"]; ok { + if rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"].(map[string]interface{}); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig = &dclService.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm: expected bool") + } + } + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig: expected map[string]interface{}") + } + } if _, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"]; ok { if s, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"].(string); ok { r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork = dcl.String(s) diff --git a/unstructured/google/dataproc/beta/workflow_template.go b/unstructured/google/dataproc/beta/workflow_template.go index 9933efa72..104aad24b 100755 --- a/unstructured/google/dataproc/beta/workflow_template.go +++ b/unstructured/google/dataproc/beta/workflow_template.go @@ -584,6 +584,19 @@ func WorkflowTemplateToUnstructured(r *dclService.WorkflowTemplate) *unstructure rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes = append(rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes, rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopesVal) } rPlacementManagedClusterConfigGceClusterConfig["serviceAccountScopes"] = rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig := make(map[string]interface{}) + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm + } + rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"] = rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } if r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork != nil { rPlacementManagedClusterConfigGceClusterConfig["subnetwork"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork } @@ -2050,6 +2063,34 @@ func UnstructuredToWorkflowTemplate(u *unstructured.Resource) (*dclService.Workf return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccountScopes: expected []interface{}") } } + if _, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"]; ok { + if rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"].(map[string]interface{}); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig = &dclService.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm: expected bool") + } + } + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig: expected map[string]interface{}") + } + } if _, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"]; ok { if s, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"].(string); ok { r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork = dcl.String(s) diff --git a/unstructured/google/dataproc/workflow_template.go b/unstructured/google/dataproc/workflow_template.go index c84bdde72..7b20339ea 100755 --- a/unstructured/google/dataproc/workflow_template.go +++ b/unstructured/google/dataproc/workflow_template.go @@ -584,6 +584,19 @@ func WorkflowTemplateToUnstructured(r *dclService.WorkflowTemplate) *unstructure rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes = append(rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes, rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopesVal) } rPlacementManagedClusterConfigGceClusterConfig["serviceAccountScopes"] = rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig := make(map[string]interface{}) + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot + } + if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm != nil { + rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm + } + rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"] = rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + } if r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork != nil { rPlacementManagedClusterConfigGceClusterConfig["subnetwork"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork } @@ -2029,6 +2042,34 @@ func UnstructuredToWorkflowTemplate(u *unstructured.Resource) (*dclService.Workf return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccountScopes: expected []interface{}") } } + if _, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"]; ok { + if rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, ok := rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"].(map[string]interface{}); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig = &dclService.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot: expected bool") + } + } + if _, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"]; ok { + if b, ok := rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"].(bool); ok { + r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm = dcl.Bool(b) + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm: expected bool") + } + } + } else { + return nil, fmt.Errorf("r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig: expected map[string]interface{}") + } + } if _, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"]; ok { if s, ok := rPlacementManagedClusterConfigGceClusterConfig["subnetwork"].(string); ok { r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork = dcl.String(s)