diff --git a/python/proto/gkehub/alpha/feature_membership.proto b/python/proto/gkehub/alpha/feature_membership.proto index 80409b3c62..2b46fb6b89 100755 --- a/python/proto/gkehub/alpha/feature_membership.proto +++ b/python/proto/gkehub/alpha/feature_membership.proto @@ -21,13 +21,6 @@ import "proto/connector/sdk.proto"; import "proto/empty.proto"; -enum GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumNO_VALUE_DO_NOT_USE = 0; - GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMONITORING_BACKEND_UNSPECIFIED = 1; - GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumPROMETHEUS = 2; - GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumCLOUD_MONITORING = 3; -} - message GkehubAlphaFeatureMembership { GkehubAlphaFeatureMembershipConfigmanagement configmanagement = 1; string project = 2; @@ -66,14 +59,8 @@ message GkehubAlphaFeatureMembershipConfigmanagementPolicyController { repeated string exemptable_namespaces = 2; bool referential_rules_enabled = 3; bool log_denies_enabled = 4; - bool mutation_enabled = 5; - GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring policy_controller_monitoring = 6; - bool template_library_installed = 7; - string audit_interval_seconds = 8; -} - -message GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - repeated GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum backends = 1; + bool template_library_installed = 5; + string audit_interval_seconds = 6; } message GkehubAlphaFeatureMembershipConfigmanagementBinauthz { diff --git a/python/proto/gkehub/beta/feature_membership.proto b/python/proto/gkehub/beta/feature_membership.proto index c25b833cec..b492f0e214 100755 --- a/python/proto/gkehub/beta/feature_membership.proto +++ b/python/proto/gkehub/beta/feature_membership.proto @@ -21,13 +21,6 @@ import "proto/connector/sdk.proto"; import "proto/empty.proto"; -enum GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumNO_VALUE_DO_NOT_USE = 0; - GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMONITORING_BACKEND_UNSPECIFIED = 1; - GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumPROMETHEUS = 2; - GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumCLOUD_MONITORING = 3; -} - message GkehubBetaFeatureMembership { GkehubBetaFeatureMembershipConfigmanagement configmanagement = 1; string project = 2; @@ -66,14 +59,8 @@ message GkehubBetaFeatureMembershipConfigmanagementPolicyController { repeated string exemptable_namespaces = 2; bool referential_rules_enabled = 3; bool log_denies_enabled = 4; - bool mutation_enabled = 5; - GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring policy_controller_monitoring = 6; - bool template_library_installed = 7; - string audit_interval_seconds = 8; -} - -message GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - repeated GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum backends = 1; + bool template_library_installed = 5; + string audit_interval_seconds = 6; } message GkehubBetaFeatureMembershipConfigmanagementBinauthz { diff --git a/python/services/gkehub/alpha/feature_membership.py b/python/services/gkehub/alpha/feature_membership.py index 58718b6523..a8360dc2e8 100755 --- a/python/services/gkehub/alpha/feature_membership.py +++ b/python/services/gkehub/alpha/feature_membership.py @@ -375,8 +375,6 @@ def __init__( exemptable_namespaces: list = None, referential_rules_enabled: bool = None, log_denies_enabled: bool = None, - mutation_enabled: bool = None, - policy_controller_monitoring: dict = None, template_library_installed: bool = None, audit_interval_seconds: str = None, ): @@ -384,8 +382,6 @@ def __init__( self.exemptable_namespaces = exemptable_namespaces self.referential_rules_enabled = referential_rules_enabled self.log_denies_enabled = log_denies_enabled - self.mutation_enabled = mutation_enabled - self.policy_controller_monitoring = policy_controller_monitoring self.template_library_installed = template_library_installed self.audit_interval_seconds = audit_interval_seconds @@ -409,18 +405,6 @@ def to_proto(self, resource): ) if Primitive.to_proto(resource.log_denies_enabled): res.log_denies_enabled = Primitive.to_proto(resource.log_denies_enabled) - if Primitive.to_proto(resource.mutation_enabled): - res.mutation_enabled = Primitive.to_proto(resource.mutation_enabled) - if FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - resource.policy_controller_monitoring - ): - res.policy_controller_monitoring.CopyFrom( - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - resource.policy_controller_monitoring - ) - ) - else: - res.ClearField("policy_controller_monitoring") if Primitive.to_proto(resource.template_library_installed): res.template_library_installed = Primitive.to_proto( resource.template_library_installed @@ -443,10 +427,6 @@ def from_proto(self, resource): resource.referential_rules_enabled ), log_denies_enabled=Primitive.from_proto(resource.log_denies_enabled), - mutation_enabled=Primitive.from_proto(resource.mutation_enabled), - policy_controller_monitoring=FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.from_proto( - resource.policy_controller_monitoring - ), template_library_installed=Primitive.from_proto( resource.template_library_installed ), @@ -474,66 +454,6 @@ def from_proto(self, resources): ] -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring( - object -): - def __init__(self, backends: list = None): - self.backends = backends - - @classmethod - def to_proto(self, resource): - if not resource: - return None - - res = ( - feature_membership_pb2.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring() - ) - if FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.to_proto( - resource.backends - ): - res.backends.extend( - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.to_proto( - resource.backends - ) - ) - return res - - @classmethod - def from_proto(self, resource): - if not resource: - return None - - return FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring( - backends=FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.from_proto( - resource.backends - ), - ) - - -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringArray( - object -): - @classmethod - def to_proto(self, resources): - if not resources: - return resources - return [ - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - i - ) - for i in resources - ] - - @classmethod - def from_proto(self, resources): - return [ - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.from_proto( - i - ) - for i in resources - ] - - class FeatureMembershipConfigmanagementBinauthz(object): def __init__(self, enabled: bool = None): self.enabled = enabled @@ -641,31 +561,6 @@ def from_proto(self, resources): ] -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum( - object -): - @classmethod - def to_proto(self, resource): - if not resource: - return resource - return feature_membership_pb2.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum.Value( - "GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum%s" - % resource - ) - - @classmethod - def from_proto(self, resource): - if not resource: - return resource - return feature_membership_pb2.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum.Name( - resource - )[ - len( - "GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum" - ) : - ] - - class Primitive(object): @classmethod def to_proto(self, s): diff --git a/python/services/gkehub/alpha/feature_membership_server.go b/python/services/gkehub/alpha/feature_membership_server.go index ef42e2904c..9f846df4a6 100755 --- a/python/services/gkehub/alpha/feature_membership_server.go +++ b/python/services/gkehub/alpha/feature_membership_server.go @@ -24,18 +24,6 @@ import ( // FeatureMembershipServer implements the gRPC interface for FeatureMembership. type FeatureMembershipServer struct{} -// ProtoToFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum enum from its proto representation. -func ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(e alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) *alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - if e == 0 { - return nil - } - if n, ok := alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_name[int32(e)]; ok { - e := alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(n[len("GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum"):]) - return &e - } - return nil -} - // ProtoToFeatureMembershipConfigmanagement converts a FeatureMembershipConfigmanagement object from its proto representation. func ProtoToGkehubAlphaFeatureMembershipConfigmanagement(p *alphapb.GkehubAlphaFeatureMembershipConfigmanagement) *alpha.FeatureMembershipConfigmanagement { if p == nil { @@ -88,13 +76,11 @@ func ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyController(p *alph return nil } obj := &alpha.FeatureMembershipConfigmanagementPolicyController{ - Enabled: dcl.Bool(p.GetEnabled()), - ReferentialRulesEnabled: dcl.Bool(p.GetReferentialRulesEnabled()), - LogDeniesEnabled: dcl.Bool(p.GetLogDeniesEnabled()), - MutationEnabled: dcl.Bool(p.GetMutationEnabled()), - PolicyControllerMonitoring: ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(p.GetPolicyControllerMonitoring()), - TemplateLibraryInstalled: dcl.Bool(p.GetTemplateLibraryInstalled()), - AuditIntervalSeconds: dcl.StringOrNil(p.GetAuditIntervalSeconds()), + Enabled: dcl.Bool(p.GetEnabled()), + ReferentialRulesEnabled: dcl.Bool(p.GetReferentialRulesEnabled()), + LogDeniesEnabled: dcl.Bool(p.GetLogDeniesEnabled()), + TemplateLibraryInstalled: dcl.Bool(p.GetTemplateLibraryInstalled()), + AuditIntervalSeconds: dcl.StringOrNil(p.GetAuditIntervalSeconds()), } for _, r := range p.GetExemptableNamespaces() { obj.ExemptableNamespaces = append(obj.ExemptableNamespaces, r) @@ -102,18 +88,6 @@ func ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyController(p *alph return obj } -// ProtoToFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring object from its proto representation. -func ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(p *alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if p == nil { - return nil - } - obj := &alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - for _, r := range p.GetBackends() { - obj.Backends = append(obj.Backends, *ProtoToGkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(r)) - } - return obj -} - // ProtoToFeatureMembershipConfigmanagementBinauthz converts a FeatureMembershipConfigmanagementBinauthz object from its proto representation. func ProtoToGkehubAlphaFeatureMembershipConfigmanagementBinauthz(p *alphapb.GkehubAlphaFeatureMembershipConfigmanagementBinauthz) *alpha.FeatureMembershipConfigmanagementBinauthz { if p == nil { @@ -150,17 +124,6 @@ func ProtoToFeatureMembership(p *alphapb.GkehubAlphaFeatureMembership) *alpha.Fe return obj } -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumToProto converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum enum to its proto representation. -func GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumToProto(e *alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - if e == nil { - return alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(0) - } - if v, ok := alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_value["FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum"+string(*e)]; ok { - return alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(v) - } - return alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(0) -} - // FeatureMembershipConfigmanagementToProto converts a FeatureMembershipConfigmanagement object to its proto representation. func GkehubAlphaFeatureMembershipConfigmanagementToProto(o *alpha.FeatureMembershipConfigmanagement) *alphapb.GkehubAlphaFeatureMembershipConfigmanagement { if o == nil { @@ -213,8 +176,6 @@ func GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerToProto(o *alph p.SetEnabled(dcl.ValueOrEmptyBool(o.Enabled)) p.SetReferentialRulesEnabled(dcl.ValueOrEmptyBool(o.ReferentialRulesEnabled)) p.SetLogDeniesEnabled(dcl.ValueOrEmptyBool(o.LogDeniesEnabled)) - p.SetMutationEnabled(dcl.ValueOrEmptyBool(o.MutationEnabled)) - p.SetPolicyControllerMonitoring(GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto(o.PolicyControllerMonitoring)) p.SetTemplateLibraryInstalled(dcl.ValueOrEmptyBool(o.TemplateLibraryInstalled)) p.SetAuditIntervalSeconds(dcl.ValueOrEmptyString(o.AuditIntervalSeconds)) sExemptableNamespaces := make([]string, len(o.ExemptableNamespaces)) @@ -225,20 +186,6 @@ func GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerToProto(o *alph return p } -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring object to its proto representation. -func GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto(o *alpha.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if o == nil { - return nil - } - p := &alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - sBackends := make([]alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum, len(o.Backends)) - for i, r := range o.Backends { - sBackends[i] = alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(alphapb.GkehubAlphaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_value[string(r)]) - } - p.SetBackends(sBackends) - return p -} - // FeatureMembershipConfigmanagementBinauthzToProto converts a FeatureMembershipConfigmanagementBinauthz object to its proto representation. func GkehubAlphaFeatureMembershipConfigmanagementBinauthzToProto(o *alpha.FeatureMembershipConfigmanagementBinauthz) *alphapb.GkehubAlphaFeatureMembershipConfigmanagementBinauthz { if o == nil { diff --git a/python/services/gkehub/beta/feature_membership.py b/python/services/gkehub/beta/feature_membership.py index a1974583a2..a2ce7d617e 100755 --- a/python/services/gkehub/beta/feature_membership.py +++ b/python/services/gkehub/beta/feature_membership.py @@ -375,8 +375,6 @@ def __init__( exemptable_namespaces: list = None, referential_rules_enabled: bool = None, log_denies_enabled: bool = None, - mutation_enabled: bool = None, - policy_controller_monitoring: dict = None, template_library_installed: bool = None, audit_interval_seconds: str = None, ): @@ -384,8 +382,6 @@ def __init__( self.exemptable_namespaces = exemptable_namespaces self.referential_rules_enabled = referential_rules_enabled self.log_denies_enabled = log_denies_enabled - self.mutation_enabled = mutation_enabled - self.policy_controller_monitoring = policy_controller_monitoring self.template_library_installed = template_library_installed self.audit_interval_seconds = audit_interval_seconds @@ -409,18 +405,6 @@ def to_proto(self, resource): ) if Primitive.to_proto(resource.log_denies_enabled): res.log_denies_enabled = Primitive.to_proto(resource.log_denies_enabled) - if Primitive.to_proto(resource.mutation_enabled): - res.mutation_enabled = Primitive.to_proto(resource.mutation_enabled) - if FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - resource.policy_controller_monitoring - ): - res.policy_controller_monitoring.CopyFrom( - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - resource.policy_controller_monitoring - ) - ) - else: - res.ClearField("policy_controller_monitoring") if Primitive.to_proto(resource.template_library_installed): res.template_library_installed = Primitive.to_proto( resource.template_library_installed @@ -443,10 +427,6 @@ def from_proto(self, resource): resource.referential_rules_enabled ), log_denies_enabled=Primitive.from_proto(resource.log_denies_enabled), - mutation_enabled=Primitive.from_proto(resource.mutation_enabled), - policy_controller_monitoring=FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.from_proto( - resource.policy_controller_monitoring - ), template_library_installed=Primitive.from_proto( resource.template_library_installed ), @@ -474,66 +454,6 @@ def from_proto(self, resources): ] -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring( - object -): - def __init__(self, backends: list = None): - self.backends = backends - - @classmethod - def to_proto(self, resource): - if not resource: - return None - - res = ( - feature_membership_pb2.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring() - ) - if FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.to_proto( - resource.backends - ): - res.backends.extend( - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.to_proto( - resource.backends - ) - ) - return res - - @classmethod - def from_proto(self, resource): - if not resource: - return None - - return FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring( - backends=FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumArray.from_proto( - resource.backends - ), - ) - - -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringArray( - object -): - @classmethod - def to_proto(self, resources): - if not resources: - return resources - return [ - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.to_proto( - i - ) - for i in resources - ] - - @classmethod - def from_proto(self, resources): - return [ - FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring.from_proto( - i - ) - for i in resources - ] - - class FeatureMembershipConfigmanagementBinauthz(object): def __init__(self, enabled: bool = None): self.enabled = enabled @@ -641,31 +561,6 @@ def from_proto(self, resources): ] -class FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum( - object -): - @classmethod - def to_proto(self, resource): - if not resource: - return resource - return feature_membership_pb2.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum.Value( - "GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum%s" - % resource - ) - - @classmethod - def from_proto(self, resource): - if not resource: - return resource - return feature_membership_pb2.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum.Name( - resource - )[ - len( - "GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum" - ) : - ] - - class Primitive(object): @classmethod def to_proto(self, s): diff --git a/python/services/gkehub/beta/feature_membership_server.go b/python/services/gkehub/beta/feature_membership_server.go index c33febf5c7..94bcb27a14 100755 --- a/python/services/gkehub/beta/feature_membership_server.go +++ b/python/services/gkehub/beta/feature_membership_server.go @@ -24,18 +24,6 @@ import ( // FeatureMembershipServer implements the gRPC interface for FeatureMembership. type FeatureMembershipServer struct{} -// ProtoToFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum enum from its proto representation. -func ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(e betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) *beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - if e == 0 { - return nil - } - if n, ok := betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_name[int32(e)]; ok { - e := beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(n[len("GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum"):]) - return &e - } - return nil -} - // ProtoToFeatureMembershipConfigmanagement converts a FeatureMembershipConfigmanagement object from its proto representation. func ProtoToGkehubBetaFeatureMembershipConfigmanagement(p *betapb.GkehubBetaFeatureMembershipConfigmanagement) *beta.FeatureMembershipConfigmanagement { if p == nil { @@ -88,13 +76,11 @@ func ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyController(p *betap return nil } obj := &beta.FeatureMembershipConfigmanagementPolicyController{ - Enabled: dcl.Bool(p.GetEnabled()), - ReferentialRulesEnabled: dcl.Bool(p.GetReferentialRulesEnabled()), - LogDeniesEnabled: dcl.Bool(p.GetLogDeniesEnabled()), - MutationEnabled: dcl.Bool(p.GetMutationEnabled()), - PolicyControllerMonitoring: ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(p.GetPolicyControllerMonitoring()), - TemplateLibraryInstalled: dcl.Bool(p.GetTemplateLibraryInstalled()), - AuditIntervalSeconds: dcl.StringOrNil(p.GetAuditIntervalSeconds()), + Enabled: dcl.Bool(p.GetEnabled()), + ReferentialRulesEnabled: dcl.Bool(p.GetReferentialRulesEnabled()), + LogDeniesEnabled: dcl.Bool(p.GetLogDeniesEnabled()), + TemplateLibraryInstalled: dcl.Bool(p.GetTemplateLibraryInstalled()), + AuditIntervalSeconds: dcl.StringOrNil(p.GetAuditIntervalSeconds()), } for _, r := range p.GetExemptableNamespaces() { obj.ExemptableNamespaces = append(obj.ExemptableNamespaces, r) @@ -102,18 +88,6 @@ func ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyController(p *betap return obj } -// ProtoToFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring object from its proto representation. -func ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(p *betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if p == nil { - return nil - } - obj := &beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - for _, r := range p.GetBackends() { - obj.Backends = append(obj.Backends, *ProtoToGkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(r)) - } - return obj -} - // ProtoToFeatureMembershipConfigmanagementBinauthz converts a FeatureMembershipConfigmanagementBinauthz object from its proto representation. func ProtoToGkehubBetaFeatureMembershipConfigmanagementBinauthz(p *betapb.GkehubBetaFeatureMembershipConfigmanagementBinauthz) *beta.FeatureMembershipConfigmanagementBinauthz { if p == nil { @@ -150,17 +124,6 @@ func ProtoToFeatureMembership(p *betapb.GkehubBetaFeatureMembership) *beta.Featu return obj } -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumToProto converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum enum to its proto representation. -func GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumToProto(e *beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - if e == nil { - return betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(0) - } - if v, ok := betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_value["FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum"+string(*e)]; ok { - return betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(v) - } - return betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(0) -} - // FeatureMembershipConfigmanagementToProto converts a FeatureMembershipConfigmanagement object to its proto representation. func GkehubBetaFeatureMembershipConfigmanagementToProto(o *beta.FeatureMembershipConfigmanagement) *betapb.GkehubBetaFeatureMembershipConfigmanagement { if o == nil { @@ -213,8 +176,6 @@ func GkehubBetaFeatureMembershipConfigmanagementPolicyControllerToProto(o *beta. p.SetEnabled(dcl.ValueOrEmptyBool(o.Enabled)) p.SetReferentialRulesEnabled(dcl.ValueOrEmptyBool(o.ReferentialRulesEnabled)) p.SetLogDeniesEnabled(dcl.ValueOrEmptyBool(o.LogDeniesEnabled)) - p.SetMutationEnabled(dcl.ValueOrEmptyBool(o.MutationEnabled)) - p.SetPolicyControllerMonitoring(GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto(o.PolicyControllerMonitoring)) p.SetTemplateLibraryInstalled(dcl.ValueOrEmptyBool(o.TemplateLibraryInstalled)) p.SetAuditIntervalSeconds(dcl.ValueOrEmptyString(o.AuditIntervalSeconds)) sExemptableNamespaces := make([]string, len(o.ExemptableNamespaces)) @@ -225,20 +186,6 @@ func GkehubBetaFeatureMembershipConfigmanagementPolicyControllerToProto(o *beta. return p } -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto converts a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring object to its proto representation. -func GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringToProto(o *beta.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if o == nil { - return nil - } - p := &betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - sBackends := make([]betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum, len(o.Backends)) - for i, r := range o.Backends { - sBackends[i] = betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(betapb.GkehubBetaFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum_value[string(r)]) - } - p.SetBackends(sBackends) - return p -} - // FeatureMembershipConfigmanagementBinauthzToProto converts a FeatureMembershipConfigmanagementBinauthz object to its proto representation. func GkehubBetaFeatureMembershipConfigmanagementBinauthzToProto(o *beta.FeatureMembershipConfigmanagementBinauthz) *betapb.GkehubBetaFeatureMembershipConfigmanagementBinauthz { if o == nil { diff --git a/services/google/dlp/alpha/deidentify_template.yaml b/services/google/dlp/alpha/deidentify_template.yaml index 746955e3d5..7ef3e060d8 100755 --- a/services/google/dlp/alpha/deidentify_template.yaml +++ b/services/google/dlp/alpha/deidentify_template.yaml @@ -1099,6 +1099,9 @@ components: x-dcl-go-name: CryptoKeyName description: Required. The resource name of the KMS CryptoKey to use for unwrapping. + x-dcl-references: + - resource: Cloudkms/CryptoKey + field: name wrappedKey: type: string x-dcl-go-name: WrappedKey diff --git a/services/google/dlp/alpha/deidentify_template_alpha_yaml_embed.go b/services/google/dlp/alpha/deidentify_template_alpha_yaml_embed.go index ea12ce09c6..952de6e97e 100755 --- a/services/google/dlp/alpha/deidentify_template_alpha_yaml_embed.go +++ b/services/google/dlp/alpha/deidentify_template_alpha_yaml_embed.go @@ -17,7 +17,7 @@ package alpha // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dlp/alpha/deidentify_template.yaml -var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") +var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: name\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") -// 422558 bytes -// MD5: cfa113036501ed78bedb36647d887493 +// 422741 bytes +// MD5: 0970a618e118e3676704ca2e35740690 diff --git a/services/google/dlp/alpha/deidentify_template_internal.go b/services/google/dlp/alpha/deidentify_template_internal.go index 1e143a1fd2..ee4b02e266 100755 --- a/services/google/dlp/alpha/deidentify_template_internal.go +++ b/services/google/dlp/alpha/deidentify_template_internal.go @@ -4529,7 +4529,8 @@ func canonicalizeDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransf } else { cDes.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, initial.CryptoKeyName) || dcl.IsZeroValue(des.CryptoKeyName) { + if dcl.IsZeroValue(des.CryptoKeyName) || (dcl.IsEmptyValueIndirect(des.CryptoKeyName) && dcl.IsEmptyValueIndirect(initial.CryptoKeyName)) { + // Desired and initial values are equivalent, so set canonical desired value to initial value. cDes.CryptoKeyName = initial.CryptoKeyName } else { cDes.CryptoKeyName = des.CryptoKeyName @@ -4583,9 +4584,6 @@ func canonicalizeNewDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTra if dcl.StringCanonicalize(des.WrappedKey, nw.WrappedKey) { nw.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, nw.CryptoKeyName) { - nw.CryptoKeyName = des.CryptoKeyName - } return nw } @@ -28630,7 +28628,7 @@ func compareDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformat diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diff --git a/services/google/dlp/alpha/deidentify_template_schema.go b/services/google/dlp/alpha/deidentify_template_schema.go index bf89924b48..93dc3434c9 100755 --- a/services/google/dlp/alpha/deidentify_template_schema.go +++ b/services/google/dlp/alpha/deidentify_template_schema.go @@ -1117,6 +1117,12 @@ func DCLDeidentifyTemplateSchema() *dcl.Schema { Type: "string", GoName: "CryptoKeyName", Description: "Required. The resource name of the KMS CryptoKey to use for unwrapping.", + ResourceReferences: []*dcl.PropertyResourceReference{ + &dcl.PropertyResourceReference{ + Resource: "Cloudkms/CryptoKey", + Field: "name", + }, + }, }, "wrappedKey": &dcl.Property{ Type: "string", diff --git a/services/google/dlp/beta/deidentify_template.yaml b/services/google/dlp/beta/deidentify_template.yaml index 746955e3d5..7ef3e060d8 100755 --- a/services/google/dlp/beta/deidentify_template.yaml +++ b/services/google/dlp/beta/deidentify_template.yaml @@ -1099,6 +1099,9 @@ components: x-dcl-go-name: CryptoKeyName description: Required. The resource name of the KMS CryptoKey to use for unwrapping. + x-dcl-references: + - resource: Cloudkms/CryptoKey + field: name wrappedKey: type: string x-dcl-go-name: WrappedKey diff --git a/services/google/dlp/beta/deidentify_template_beta_yaml_embed.go b/services/google/dlp/beta/deidentify_template_beta_yaml_embed.go index 48d3eeb3ab..6891e018ee 100755 --- a/services/google/dlp/beta/deidentify_template_beta_yaml_embed.go +++ b/services/google/dlp/beta/deidentify_template_beta_yaml_embed.go @@ -17,7 +17,7 @@ package beta // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dlp/beta/deidentify_template.yaml -var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") +var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: name\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") -// 422558 bytes -// MD5: cfa113036501ed78bedb36647d887493 +// 422741 bytes +// MD5: 0970a618e118e3676704ca2e35740690 diff --git a/services/google/dlp/beta/deidentify_template_internal.go b/services/google/dlp/beta/deidentify_template_internal.go index 7fd9823662..1f18176832 100755 --- a/services/google/dlp/beta/deidentify_template_internal.go +++ b/services/google/dlp/beta/deidentify_template_internal.go @@ -4529,7 +4529,8 @@ func canonicalizeDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransf } else { cDes.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, initial.CryptoKeyName) || dcl.IsZeroValue(des.CryptoKeyName) { + if dcl.IsZeroValue(des.CryptoKeyName) || (dcl.IsEmptyValueIndirect(des.CryptoKeyName) && dcl.IsEmptyValueIndirect(initial.CryptoKeyName)) { + // Desired and initial values are equivalent, so set canonical desired value to initial value. cDes.CryptoKeyName = initial.CryptoKeyName } else { cDes.CryptoKeyName = des.CryptoKeyName @@ -4583,9 +4584,6 @@ func canonicalizeNewDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTra if dcl.StringCanonicalize(des.WrappedKey, nw.WrappedKey) { nw.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, nw.CryptoKeyName) { - nw.CryptoKeyName = des.CryptoKeyName - } return nw } @@ -28630,7 +28628,7 @@ func compareDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformat diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diff --git a/services/google/dlp/beta/deidentify_template_schema.go b/services/google/dlp/beta/deidentify_template_schema.go index d954361502..546c04d395 100755 --- a/services/google/dlp/beta/deidentify_template_schema.go +++ b/services/google/dlp/beta/deidentify_template_schema.go @@ -1117,6 +1117,12 @@ func DCLDeidentifyTemplateSchema() *dcl.Schema { Type: "string", GoName: "CryptoKeyName", Description: "Required. The resource name of the KMS CryptoKey to use for unwrapping.", + ResourceReferences: []*dcl.PropertyResourceReference{ + &dcl.PropertyResourceReference{ + Resource: "Cloudkms/CryptoKey", + Field: "name", + }, + }, }, "wrappedKey": &dcl.Property{ Type: "string", diff --git a/services/google/dlp/deidentify_template.yaml b/services/google/dlp/deidentify_template.yaml index 746955e3d5..7ef3e060d8 100755 --- a/services/google/dlp/deidentify_template.yaml +++ b/services/google/dlp/deidentify_template.yaml @@ -1099,6 +1099,9 @@ components: x-dcl-go-name: CryptoKeyName description: Required. The resource name of the KMS CryptoKey to use for unwrapping. + x-dcl-references: + - resource: Cloudkms/CryptoKey + field: name wrappedKey: type: string x-dcl-go-name: WrappedKey diff --git a/services/google/dlp/deidentify_template_internal.go b/services/google/dlp/deidentify_template_internal.go index 84d8a1d8f2..88fd008c54 100755 --- a/services/google/dlp/deidentify_template_internal.go +++ b/services/google/dlp/deidentify_template_internal.go @@ -4529,7 +4529,8 @@ func canonicalizeDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransf } else { cDes.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, initial.CryptoKeyName) || dcl.IsZeroValue(des.CryptoKeyName) { + if dcl.IsZeroValue(des.CryptoKeyName) || (dcl.IsEmptyValueIndirect(des.CryptoKeyName) && dcl.IsEmptyValueIndirect(initial.CryptoKeyName)) { + // Desired and initial values are equivalent, so set canonical desired value to initial value. cDes.CryptoKeyName = initial.CryptoKeyName } else { cDes.CryptoKeyName = des.CryptoKeyName @@ -4583,9 +4584,6 @@ func canonicalizeNewDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTra if dcl.StringCanonicalize(des.WrappedKey, nw.WrappedKey) { nw.WrappedKey = des.WrappedKey } - if dcl.StringCanonicalize(des.CryptoKeyName, nw.CryptoKeyName) { - nw.CryptoKeyName = des.CryptoKeyName - } return nw } @@ -28630,7 +28628,7 @@ func compareDeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformat diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CryptoKeyName, actual.CryptoKeyName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateDeidentifyTemplateUpdateDeidentifyTemplateOperation")}, fn.AddNest("CryptoKeyName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diff --git a/services/google/dlp/deidentify_template_schema.go b/services/google/dlp/deidentify_template_schema.go index 21d75dd898..3d355c27cd 100755 --- a/services/google/dlp/deidentify_template_schema.go +++ b/services/google/dlp/deidentify_template_schema.go @@ -1117,6 +1117,12 @@ func DCLDeidentifyTemplateSchema() *dcl.Schema { Type: "string", GoName: "CryptoKeyName", Description: "Required. The resource name of the KMS CryptoKey to use for unwrapping.", + ResourceReferences: []*dcl.PropertyResourceReference{ + &dcl.PropertyResourceReference{ + Resource: "Cloudkms/CryptoKey", + Field: "name", + }, + }, }, "wrappedKey": &dcl.Property{ Type: "string", diff --git a/services/google/dlp/deidentify_template_yaml_embed.go b/services/google/dlp/deidentify_template_yaml_embed.go index 14cbbfd15e..3524b3e684 100755 --- a/services/google/dlp/deidentify_template_yaml_embed.go +++ b/services/google/dlp/deidentify_template_yaml_embed.go @@ -17,7 +17,7 @@ package dlp // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/dlp/deidentify_template.yaml -var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") +var YAML_deidentify_template = []byte("info:\n title: Dlp/DeidentifyTemplate\n description: The Dlp DeidentifyTemplate resource\n x-dcl-struct-name: DeidentifyTemplate\n x-dcl-has-iam: false\npaths:\n get:\n description: The function used to get information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n apply:\n description: The function used to apply information about a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n delete:\n description: The function used to delete a DeidentifyTemplate\n parameters:\n - name: DeidentifyTemplate\n required: true\n description: A full instance of a DeidentifyTemplate\n deleteAll:\n description: The function used to delete all DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many DeidentifyTemplate\n parameters:\n - name: location\n required: true\n schema:\n type: string\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n DeidentifyTemplate:\n title: DeidentifyTemplate\n x-dcl-id: '{{parent}}/deidentifyTemplates/{{name}}'\n x-dcl-locations:\n - region\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - parent\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 creation timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n deidentifyConfig:\n type: object\n x-dcl-go-name: DeidentifyConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfig\n description: The core content of the template.\n properties:\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformations\n description: Treat the dataset as free-form text and apply the same\n free text transformation everywhere.\n x-dcl-conflicts:\n - recordTransformations\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType. Cannot\n specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation to. An\n empty list will cause this transformation to apply to all\n findings that correspond to infoTypes that were requested\n in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either a\n name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending Cloud\n DLP results to Data Catalog, infoType names should\n conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation to apply to\n the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n x-dcl-references:\n - resource: Cloudkms/CryptoKey\n field: name\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordTransformations:\n type: object\n x-dcl-go-name: RecordTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformations\n description: Treat the dataset as structured. Transformations can be\n applied to specific locations within structured datasets, such as\n transforming a column within a table.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n fieldTransformations:\n type: array\n x-dcl-go-name: FieldTransformations\n description: Transform the record by applying various field transformations.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformations\n required:\n - fields\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsCondition\n description: 'Only apply the transformation if the condition\n evaluates to true for the given `RecordCondition`. The conditions\n are allowed to reference fields that are not used in the\n actual transformation. Example Use Cases: - Apply a different\n bucket transformation to an age column if the zip code column\n for the same record is within a specific range. - Redact\n a field if the date of birth field is greater than 85.'\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n fields:\n type: array\n x-dcl-go-name: Fields\n description: Required. Input field(s) to apply the transformation\n to. When you have columns that reference their position\n within a list, omit the index from the FieldId. FieldId\n name matching ignores the index. For example, instead of\n \"contact.nums[0].type\", use \"contact.nums.type\".\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsFields\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n infoTypeTransformations:\n type: object\n x-dcl-go-name: InfoTypeTransformations\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformations\n description: Treat the contents of the field as free text,\n and selectively transform content that matches an `InfoType`.\n x-dcl-conflicts:\n - primitiveTransformation\n required:\n - transformations\n properties:\n transformations:\n type: array\n x-dcl-go-name: Transformations\n description: Required. Transformation for each infoType.\n Cannot specify more than one for a given infoType.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformations\n required:\n - primitiveTransformation\n properties:\n infoTypes:\n type: array\n x-dcl-go-name: InfoTypes\n description: InfoTypes to apply the transformation\n to. An empty list will cause this transformation\n to apply to all findings that correspond to infoTypes\n that were requested in `InspectConfig`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsInfoTypes\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type.\n Either a name of your choosing when creating\n a CustomInfoType, or one of the names listed\n at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformation\n description: Required. Primitive transformation\n to apply to the infoType.\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must\n be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range,\n exclusive; type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range,\n inclusive. Type should be the same\n as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement\n value for this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month.\n Must be from 1 to 31 and\n valid for the year and month,\n or 0 to specify a year by\n itself or a year and month\n where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year.\n Must be from 1 to 12, or\n 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date.\n Must be from 1 to 9999,\n or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible\n values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY,\n THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day\n in 24 hour format. Should\n be from 0 to 23. An API\n may choose to allow the\n value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour\n of day. Must be from 0 to\n 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of\n seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally\n be from 0 to 59. An API\n may allow the value 60 if\n it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items\n in this list will be skipped when replacing\n characters. For example, if the input\n string is `555-555-5555` and you instruct\n Cloud DLP to skip `-` and mask 5 characters\n with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform\n when masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to\n not transform when masking. Useful\n to avoid removing punctuation. Possible\n values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the\n sensitive values—for example, `*` for\n an alphabetic string such as a name, or\n `0` for a numeric string such as ZIP code\n or credit card number. This string must\n have a length of 1. If not supplied, this\n value defaults to `*` for strings, and\n `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask.\n If not set, all matching chars will be\n masked. Skipped characters do not count\n towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse\n order. For example, if `masking_character`\n is `0`, `number_to_mask` is `14`, and\n `reverse_order` is `false`, then the input\n string `1234-5678-9012-3456` is masked\n as `00000000000000-3456`. If `masking_character`\n is `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is\n masked as `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for\n higher security and maintaining referential\n integrity such that the same identifier\n in two different contexts will be given\n a distinct surrogate. The context is appended\n to plaintext value being encrypted. On\n decryption the provided context is validated\n against the value used during encryption.\n If a context was provided during encryption,\n same context must be provided during decryption\n as well. If the context is not set, plaintext\n would be used as is for encryption. If\n the context is set but: 1. there is no\n record present when transforming a given\n value or 2. the field is not present when\n transforming a given value, plaintext\n would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption\n function. For deterministic encryption\n using AES-SIV, the provided key is internally\n expanded to 64 bytes prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom info type\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: {info type name}({surrogate\n character count}):{surrogate} For example,\n if the name of custom info type is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full\n replacement value will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs\n in free text. Note: For record transformations\n where the entire cell in a table is being\n transformed, surrogates are not mandatory.\n Surrogates are used to denote the location\n of the token and are necessary for re-identification\n in free form text. In order for inspection\n to work properly, the name of this info\n type must not occur naturally anywhere\n in your data; otherwise, inspection may\n either - reverse a surrogate that does\n not correspond to an actual identifier\n - be unable to parse the surrogate and\n result in an error Therefore, choose your\n custom info type name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible\n values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may\n be used for higher security since the\n same identifier in two different contexts\n won''t be given the same surrogate. If\n the context is not set, a default tweak\n will be used. If the context is set but:\n 1. there is no record present when transforming\n a given value or 1. the field is not present\n when transforming a given value, a default\n tweak will be used. Note that case (1)\n is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced\n field may be of value type integer or\n string. The tweak is constructed as a\n sequence of bytes in big endian byte order\n such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 -\n a string is encoded in UTF-8 format followed\n by a single byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the\n encryption algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping\n these to the alphanumeric characters that\n the FFX mode natively supports. This happens\n before/after encryption/decryption. Each\n character listed must appear only once.\n Number of characters must be in the range\n [2, 95]. This must be encoded as ASCII.\n The order of characters does not matter.\n The full list of allowed characters is:\n ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the\n alphabet. Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate\n the surrogate with. This annotation will\n be applied to the surrogate by prefixing\n it with the name of the custom infoType\n followed by the number of characters comprising\n the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType\n is ''MY_TOKEN_INFO_TYPE'' and the surrogate\n is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc''\n This annotation identifies the surrogate\n when inspecting content using the custom\n infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate\n when it occurs in free text. In order\n for inspection to work properly, the name\n of this infoType must not occur naturally\n anywhere in your data; otherwise, inspection\n may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose\n your custom infoType name carefully after\n considering what your data looks like.\n One way to select a name that has a high\n chance of yielding reliable detection\n is to include one or more unicode characters\n that are highly improbable to exist in\n your data. For example, assuming your\n data is entered from a regular ASCII keyboard,\n the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information\n type. Either a name of your choosing\n when creating a CustomInfoType, or\n one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When\n sending Cloud DLP results to Data\n Catalog, infoType names should conform\n to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains\n the context, for example, an entity id.\n If set, must also set cryptoKey. If set,\n shift will be consistent for the given\n context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed\n based on this key and the context. This\n results in the same shift for the same\n context and crypto_key. If set, must also\n set context. Can only be applied to table\n items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud\n KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource\n name of the KMS CryptoKey to use\n for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped\n data crypto key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of\n the key. This is an arbitrary\n string used to differentiate different\n keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated\n key if their names are the same.\n When the data crypto key is generated,\n this name is not used in any way\n (repeating the api call will result\n in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256\n bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means\n shift date to at most 5 days back in the\n past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in\n days. Actual shift will be selected at\n random within this range (inclusive ends).\n Negative means shift to earlier in time.\n Must not be more than 365250 days (1000\n years) each direction. For example, 3\n means shift date to at most 3 days into\n the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket\n (except for minimum and maximum buckets).\n So if `lower_bound` = 10, `upper_bound`\n = 89, and `bucket_size` = 10, then the\n following buckets would be used: -10,\n 10-20, 20-30, 30-40, 40-50, 50-60, 60-70,\n 70-80, 80-89, 89+. Precision up to 2 decimals\n works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value\n of buckets. All values less than `lower_bound`\n are grouped together into a single bucket;\n for example if `lower_bound` = 10, then\n all values less than 10 are replaced with\n the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value\n of buckets. All values greater than upper_bound\n are grouped together into a single bucket;\n for example if `upper_bound` = 89, then\n all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsInfoTypeTransformationsTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep.\n Possible values: TIME_PART_UNSPECIFIED,\n YEAR, MONTH, DAY_OF_MONTH, DAY_OF_WEEK,\n WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n primitiveTransformation:\n type: object\n x-dcl-go-name: PrimitiveTransformation\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformation\n description: Apply the transformation to the entire field.\n x-dcl-conflicts:\n - infoTypeTransformations\n properties:\n bucketingConfig:\n type: object\n x-dcl-go-name: BucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfig\n description: Bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n buckets:\n type: array\n x-dcl-go-name: Buckets\n description: Set of buckets. Ranges must be non-overlapping.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBuckets\n required:\n - replacementValue\n properties:\n max:\n type: object\n x-dcl-go-name: Max\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMax\n description: Upper bound of the range, exclusive;\n type must match min.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMaxTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n min:\n type: object\n x-dcl-go-name: Min\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMin\n description: Lower bound of the range, inclusive.\n Type should be the same as max if used.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsMinTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replacementValue:\n type: object\n x-dcl-go-name: ReplacementValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValue\n description: Required. Replacement value for\n this bucket.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be\n from 1 to 31 and valid for the year\n and month, or 0 to specify a year\n by itself or a year and month where\n the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be\n from 1 to 12, or 0 to specify a year\n without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationBucketingConfigBucketsReplacementValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour\n format. Should be from 0 to 23. An\n API may choose to allow the value\n \"24:00:00\" for scenarios like business\n closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day.\n Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in\n nanoseconds. Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the\n time. Must normally be from 0 to 59.\n An API may allow the value 60 if it\n allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n characterMaskConfig:\n type: object\n x-dcl-go-name: CharacterMaskConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfig\n description: Mask\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n charactersToIgnore:\n type: array\n x-dcl-go-name: CharactersToIgnore\n description: When masking a string, items in this\n list will be skipped when replacing characters.\n For example, if the input string is `555-555-5555`\n and you instruct Cloud DLP to skip `-` and mask\n 5 characters with `*`, Cloud DLP returns `***-**5-5555`.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnore\n properties:\n charactersToSkip:\n type: string\n x-dcl-go-name: CharactersToSkip\n description: Characters to not transform when\n masking.\n x-dcl-conflicts:\n - commonCharactersToIgnore\n commonCharactersToIgnore:\n type: string\n x-dcl-go-name: CommonCharactersToIgnore\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCharacterMaskConfigCharactersToIgnoreCommonCharactersToIgnoreEnum\n description: 'Common characters to not transform\n when masking. Useful to avoid removing punctuation.\n Possible values: COMMON_CHARS_TO_IGNORE_UNSPECIFIED,\n NUMERIC, ALPHA_UPPER_CASE, ALPHA_LOWER_CASE,\n PUNCTUATION, WHITESPACE'\n x-dcl-conflicts:\n - charactersToSkip\n enum:\n - COMMON_CHARS_TO_IGNORE_UNSPECIFIED\n - NUMERIC\n - ALPHA_UPPER_CASE\n - ALPHA_LOWER_CASE\n - PUNCTUATION\n - WHITESPACE\n maskingCharacter:\n type: string\n x-dcl-go-name: MaskingCharacter\n description: Character to use to mask the sensitive\n values—for example, `*` for an alphabetic string\n such as a name, or `0` for a numeric string such\n as ZIP code or credit card number. This string must\n have a length of 1. If not supplied, this value\n defaults to `*` for strings, and `0` for digits.\n numberToMask:\n type: integer\n format: int64\n x-dcl-go-name: NumberToMask\n description: Number of characters to mask. If not\n set, all matching chars will be masked. Skipped\n characters do not count towards this tally.\n reverseOrder:\n type: boolean\n x-dcl-go-name: ReverseOrder\n description: Mask characters in reverse order. For\n example, if `masking_character` is `0`, `number_to_mask`\n is `14`, and `reverse_order` is `false`, then the\n input string `1234-5678-9012-3456` is masked as\n `00000000000000-3456`. If `masking_character` is\n `*`, `number_to_mask` is `3`, and `reverse_order`\n is `true`, then the string `12345` is masked as\n `12***`.\n cryptoDeterministicConfig:\n type: object\n x-dcl-go-name: CryptoDeterministicConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfig\n description: Deterministic Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigContext\n description: 'A context may be used for higher security\n and maintaining referential integrity such that\n the same identifier in two different contexts will\n be given a distinct surrogate. The context is appended\n to plaintext value being encrypted. On decryption\n the provided context is validated against the value\n used during encryption. If a context was provided\n during encryption, same context must be provided\n during decryption as well. If the context is not\n set, plaintext would be used as is for encryption.\n If the context is set but: 1. there is no record\n present when transforming a given value or 2. the\n field is not present when transforming a given value,\n plaintext would be used as is for encryption. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKey\n description: The key used by the encryption function.\n For deterministic encryption using AES-SIV, the\n provided key is internally expanded to 64 bytes\n prior to use.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoDeterministicConfigSurrogateInfoType\n description: 'The custom info type to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom info type followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: {info type name}({surrogate character\n count}):{surrogate} For example, if the name of\n custom info type is ''MY_TOKEN_INFO_TYPE'' and the\n surrogate is ''abc'', the full replacement value\n will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This annotation\n identifies the surrogate when inspecting content\n using the custom info type ''Surrogate''. This facilitates\n reversal of the surrogate when it occurs in free\n text. Note: For record transformations where the\n entire cell in a table is being transformed, surrogates\n are not mandatory. Surrogates are used to denote\n the location of the token and are necessary for\n re-identification in free form text. In order for\n inspection to work properly, the name of this info\n type must not occur naturally anywhere in your data;\n otherwise, inspection may either - reverse a surrogate\n that does not correspond to an actual identifier\n - be unable to parse the surrogate and result in\n an error Therefore, choose your custom info type\n name carefully after considering what your data\n looks like. One way to select a name that has a\n high chance of yielding reliable detection is to\n include one or more unicode characters that are\n highly improbable to exist in your data. For example,\n assuming your data is entered from a regular ASCII\n keyboard, the symbol with the hex code point 29DD\n might be used like so: ⧝MY_TOKEN_TYPE.'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n cryptoHashConfig:\n type: object\n x-dcl-go-name: CryptoHashConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfig\n description: Crypto\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKey\n description: The key used by the hash function.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoHashConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n cryptoReplaceFfxFpeConfig:\n type: object\n x-dcl-go-name: CryptoReplaceFfxFpeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfig\n description: Ffx-Fpe\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - cryptoKey\n properties:\n commonAlphabet:\n type: string\n x-dcl-go-name: CommonAlphabet\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCommonAlphabetEnum\n description: 'Common alphabets. Possible values: FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED,\n NUMERIC, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC,\n ALPHA_NUMERIC'\n x-dcl-conflicts:\n - customAlphabet\n - radix\n enum:\n - FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED\n - NUMERIC\n - HEXADECIMAL\n - UPPER_CASE_ALPHA_NUMERIC\n - ALPHA_NUMERIC\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigContext\n description: 'The ''tweak'', a context may be used\n for higher security since the same identifier in\n two different contexts won''t be given the same\n surrogate. If the context is not set, a default\n tweak will be used. If the context is set but: 1.\n there is no record present when transforming a given\n value or 1. the field is not present when transforming\n a given value, a default tweak will be used. Note\n that case (1) is expected when an `InfoTypeTransformation`\n is applied to both structured and non-structured\n `ContentItem`s. Currently, the referenced field\n may be of value type integer or string. The tweak\n is constructed as a sequence of bytes in big endian\n byte order such that: - a 64 bit integer is encoded\n followed by a single byte of value 1 - a string\n is encoded in UTF-8 format followed by a single\n byte of value 2'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKey\n description: Required. The key used by the encryption\n algorithm.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n customAlphabet:\n type: string\n x-dcl-go-name: CustomAlphabet\n description: 'This is supported by mapping these to\n the alphanumeric characters that the FFX mode natively\n supports. This happens before/after encryption/decryption.\n Each character listed must appear only once. Number\n of characters must be in the range [2, 95]. This\n must be encoded as ASCII. The order of characters\n does not matter. The full list of allowed characters\n is: ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n ~`!@#$%^&*()_-+={[}]|:;\"''<,>.?/``'\n x-dcl-conflicts:\n - commonAlphabet\n - radix\n radix:\n type: integer\n format: int64\n x-dcl-go-name: Radix\n description: The native way to select the alphabet.\n Must be in the range [2, 95].\n x-dcl-conflicts:\n - commonAlphabet\n - customAlphabet\n surrogateInfoType:\n type: object\n x-dcl-go-name: SurrogateInfoType\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationCryptoReplaceFfxFpeConfigSurrogateInfoType\n description: 'The custom infoType to annotate the\n surrogate with. This annotation will be applied\n to the surrogate by prefixing it with the name of\n the custom infoType followed by the number of characters\n comprising the surrogate. The following scheme defines\n the format: info_type_name(surrogate_character_count):surrogate\n For example, if the name of custom infoType is ''MY_TOKEN_INFO_TYPE''\n and the surrogate is ''abc'', the full replacement\n value will be: ''MY_TOKEN_INFO_TYPE(3):abc'' This\n annotation identifies the surrogate when inspecting\n content using the custom infoType [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).\n This facilitates reversal of the surrogate when\n it occurs in free text. In order for inspection\n to work properly, the name of this infoType must\n not occur naturally anywhere in your data; otherwise,\n inspection may find a surrogate that does not correspond\n to an actual identifier. Therefore, choose your\n custom infoType name carefully after considering\n what your data looks like. One way to select a name\n that has a high chance of yielding reliable detection\n is to include one or more unicode characters that\n are highly improbable to exist in your data. For\n example, assuming your data is entered from a regular\n ASCII keyboard, the symbol with the hex code point\n 29DD might be used like so: ⧝MY_TOKEN_TYPE'\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name of the information type. Either\n a name of your choosing when creating a CustomInfoType,\n or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference\n when specifying a built-in type. When sending\n Cloud DLP results to Data Catalog, infoType\n names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.\n dateShiftConfig:\n type: object\n x-dcl-go-name: DateShiftConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfig\n description: Date Shift\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - cryptoDeterministicConfig\n required:\n - upperBoundDays\n - lowerBoundDays\n properties:\n context:\n type: object\n x-dcl-go-name: Context\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigContext\n description: Points to the field that contains the\n context, for example, an entity id. If set, must\n also set cryptoKey. If set, shift will be consistent\n for the given context.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n cryptoKey:\n type: object\n x-dcl-go-name: CryptoKey\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKey\n description: Causes the shift to be computed based\n on this key and the context. This results in the\n same shift for the same context and crypto_key.\n If set, must also set context. Can only be applied\n to table items.\n properties:\n kmsWrapped:\n type: object\n x-dcl-go-name: KmsWrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyKmsWrapped\n description: Key wrapped using Cloud KMS\n x-dcl-conflicts:\n - transient\n - unwrapped\n required:\n - wrappedKey\n - cryptoKeyName\n properties:\n cryptoKeyName:\n type: string\n x-dcl-go-name: CryptoKeyName\n description: Required. The resource name of\n the KMS CryptoKey to use for unwrapping.\n wrappedKey:\n type: string\n x-dcl-go-name: WrappedKey\n description: Required. The wrapped data crypto\n key.\n transient:\n type: object\n x-dcl-go-name: Transient\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyTransient\n description: Transient crypto key\n x-dcl-conflicts:\n - unwrapped\n - kmsWrapped\n required:\n - name\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Required. Name of the key. This\n is an arbitrary string used to differentiate\n different keys. A unique key is generated\n per name: two separate `TransientCryptoKey`\n protos share the same generated key if their\n names are the same. When the data crypto\n key is generated, this name is not used\n in any way (repeating the api call will\n result in a different key being generated).'\n unwrapped:\n type: object\n x-dcl-go-name: Unwrapped\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationDateShiftConfigCryptoKeyUnwrapped\n description: Unwrapped crypto key\n x-dcl-conflicts:\n - transient\n - kmsWrapped\n required:\n - key\n properties:\n key:\n type: string\n x-dcl-go-name: Key\n description: Required. A 128/192/256 bit key.\n lowerBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: LowerBoundDays\n description: Required. For example, -5 means shift\n date to at most 5 days back in the past.\n upperBoundDays:\n type: integer\n format: int64\n x-dcl-go-name: UpperBoundDays\n description: Required. Range of shift in days. Actual\n shift will be selected at random within this range\n (inclusive ends). Negative means shift to earlier\n in time. Must not be more than 365250 days (1000\n years) each direction. For example, 3 means shift\n date to at most 3 days into the future.\n fixedSizeBucketingConfig:\n type: object\n x-dcl-go-name: FixedSizeBucketingConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfig\n description: Fixed size bucketing\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n required:\n - lowerBound\n - upperBound\n - bucketSize\n properties:\n bucketSize:\n type: number\n format: double\n x-dcl-go-name: BucketSize\n description: 'Required. Size of each bucket (except\n for minimum and maximum buckets). So if `lower_bound`\n = 10, `upper_bound` = 89, and `bucket_size` = 10,\n then the following buckets would be used: -10, 10-20,\n 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89,\n 89+. Precision up to 2 decimals works.'\n lowerBound:\n type: object\n x-dcl-go-name: LowerBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBound\n description: Required. Lower bound value of buckets.\n All values less than `lower_bound` are grouped together\n into a single bucket; for example if `lower_bound`\n = 10, then all values less than 10 are replaced\n with the value \"-10\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigLowerBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n upperBound:\n type: object\n x-dcl-go-name: UpperBound\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBound\n description: Required. Upper bound value of buckets.\n All values greater than upper_bound are grouped\n together into a single bucket; for example if `upper_bound`\n = 89, then all values greater than 89 are replaced\n with the value \"89+\".\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationFixedSizeBucketingConfigUpperBoundTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n redactConfig:\n type: object\n x-dcl-go-name: RedactConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationRedactConfig\n description: Redact\n x-dcl-conflicts:\n - replaceConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n replaceConfig:\n type: object\n x-dcl-go-name: ReplaceConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfig\n description: Replace with a specified value.\n x-dcl-conflicts:\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n newValue:\n type: object\n x-dcl-go-name: NewValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValue\n description: Value to replace it with.\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must be from\n 1 to 31 and valid for the year and month,\n or 0 to specify a year by itself or a year\n and month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must be from\n 1 to 12, or 0 to specify a year without\n a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must be from\n 1 to 9999, or 0 to specify a date without\n a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueDayOfWeekValueEnum\n description: 'day of week Possible values: DAY_OF_WEEK_UNSPECIFIED,\n MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,\n SATURDAY, SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceConfigNewValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24 hour format.\n Should be from 0 to 23. An API may choose\n to allow the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of day. Must\n be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds in nanoseconds.\n Must be from 0 to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes of the time.\n Must normally be from 0 to 59. An API may\n allow the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n replaceWithInfoTypeConfig:\n type: object\n x-dcl-go-name: ReplaceWithInfoTypeConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationReplaceWithInfoTypeConfig\n description: Replace with infotype\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - timePartConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n x-dcl-send-empty: true\n timePartConfig:\n type: object\n x-dcl-go-name: TimePartConfig\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfig\n description: Time extraction\n x-dcl-conflicts:\n - replaceConfig\n - redactConfig\n - characterMaskConfig\n - cryptoReplaceFfxFpeConfig\n - fixedSizeBucketingConfig\n - bucketingConfig\n - replaceWithInfoTypeConfig\n - cryptoHashConfig\n - dateShiftConfig\n - cryptoDeterministicConfig\n properties:\n partToExtract:\n type: string\n x-dcl-go-name: PartToExtract\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsFieldTransformationsPrimitiveTransformationTimePartConfigPartToExtractEnum\n description: 'The part of the time to keep. Possible\n values: TIME_PART_UNSPECIFIED, YEAR, MONTH, DAY_OF_MONTH,\n DAY_OF_WEEK, WEEK_OF_YEAR, HOUR_OF_DAY'\n enum:\n - TIME_PART_UNSPECIFIED\n - YEAR\n - MONTH\n - DAY_OF_MONTH\n - DAY_OF_WEEK\n - WEEK_OF_YEAR\n - HOUR_OF_DAY\n recordSuppressions:\n type: array\n x-dcl-go-name: RecordSuppressions\n description: Configuration defining which records get suppressed\n entirely. Records that match any suppression rule are omitted\n from the output.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressions\n properties:\n condition:\n type: object\n x-dcl-go-name: Condition\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsCondition\n description: A condition that when it evaluates to true will\n result in the record being evaluated to be suppressed from\n the transformed content.\n properties:\n expressions:\n type: object\n x-dcl-go-name: Expressions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressions\n description: An expression.\n properties:\n conditions:\n type: object\n x-dcl-go-name: Conditions\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditions\n description: Conditions to apply to the expression.\n properties:\n conditions:\n type: array\n x-dcl-go-name: Conditions\n description: A collection of conditions.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: object\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditions\n required:\n - field\n - operator\n properties:\n field:\n type: object\n x-dcl-go-name: Field\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsField\n description: Required. Field within the\n record this condition is evaluated against.\n properties:\n name:\n type: string\n x-dcl-go-name: Name\n description: Name describing the field.\n operator:\n type: string\n x-dcl-go-name: Operator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsOperatorEnum\n description: 'Required. Operator used to\n compare the field or infoType to the value.\n Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n value:\n type: object\n x-dcl-go-name: Value\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValue\n description: Value to compare against. [Mandatory,\n except for `EXISTS` tests.]\n properties:\n booleanValue:\n type: boolean\n x-dcl-go-name: BooleanValue\n description: boolean\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n dateValue:\n type: object\n x-dcl-go-name: DateValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDateValue\n description: date\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dayOfWeekValue\n properties:\n day:\n type: integer\n format: int64\n x-dcl-go-name: Day\n description: Day of a month. Must\n be from 1 to 31 and valid for\n the year and month, or 0 to specify\n a year by itself or a year and\n month where the day isn't significant.\n month:\n type: integer\n format: int64\n x-dcl-go-name: Month\n description: Month of a year. Must\n be from 1 to 12, or 0 to specify\n a year without a month and day.\n year:\n type: integer\n format: int64\n x-dcl-go-name: Year\n description: Year of the date. Must\n be from 1 to 9999, or 0 to specify\n a date without a year.\n dayOfWeekValue:\n type: string\n x-dcl-go-name: DayOfWeekValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueDayOfWeekValueEnum\n description: 'day of week Possible values:\n DAY_OF_WEEK_UNSPECIFIED, MONDAY, TUESDAY,\n WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,\n SUNDAY'\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n enum:\n - DAY_OF_WEEK_UNSPECIFIED\n - MONDAY\n - TUESDAY\n - WEDNESDAY\n - THURSDAY\n - FRIDAY\n - SATURDAY\n - SUNDAY\n floatValue:\n type: number\n format: double\n x-dcl-go-name: FloatValue\n description: float\n x-dcl-conflicts:\n - integerValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n integerValue:\n type: integer\n format: int64\n x-dcl-go-name: IntegerValue\n description: integer\n x-dcl-conflicts:\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n stringValue:\n type: string\n x-dcl-go-name: StringValue\n description: string\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - booleanValue\n - timestampValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n timeValue:\n type: object\n x-dcl-go-name: TimeValue\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsConditionsConditionsValueTimeValue\n description: time of day\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timestampValue\n - dateValue\n - dayOfWeekValue\n properties:\n hours:\n type: integer\n format: int64\n x-dcl-go-name: Hours\n description: Hours of day in 24\n hour format. Should be from 0\n to 23. An API may choose to allow\n the value \"24:00:00\" for scenarios\n like business closing time.\n minutes:\n type: integer\n format: int64\n x-dcl-go-name: Minutes\n description: Minutes of hour of\n day. Must be from 0 to 59.\n nanos:\n type: integer\n format: int64\n x-dcl-go-name: Nanos\n description: Fractions of seconds\n in nanoseconds. Must be from 0\n to 999,999,999.\n seconds:\n type: integer\n format: int64\n x-dcl-go-name: Seconds\n description: Seconds of minutes\n of the time. Must normally be\n from 0 to 59. An API may allow\n the value 60 if it allows leap-seconds.\n timestampValue:\n type: string\n format: date-time\n x-dcl-go-name: TimestampValue\n description: timestamp\n x-dcl-conflicts:\n - integerValue\n - floatValue\n - stringValue\n - booleanValue\n - timeValue\n - dateValue\n - dayOfWeekValue\n logicalOperator:\n type: string\n x-dcl-go-name: LogicalOperator\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigRecordTransformationsRecordSuppressionsConditionExpressionsLogicalOperatorEnum\n description: 'The operator to apply to the result\n of conditions. Default and currently only supported\n value is `AND`. Possible values: LOGICAL_OPERATOR_UNSPECIFIED,\n AND'\n enum:\n - LOGICAL_OPERATOR_UNSPECIFIED\n - AND\n transformationErrorHandling:\n type: object\n x-dcl-go-name: TransformationErrorHandling\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandling\n description: Mode for handling transformation errors. If left unspecified,\n the default mode is `TransformationErrorHandling.ThrowError`.\n properties:\n leaveUntransformed:\n type: object\n x-dcl-go-name: LeaveUntransformed\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingLeaveUntransformed\n description: Ignore errors\n x-dcl-conflicts:\n - throwError\n throwError:\n type: object\n x-dcl-go-name: ThrowError\n x-dcl-go-type: DeidentifyTemplateDeidentifyConfigTransformationErrorHandlingThrowError\n description: Throw an error\n x-dcl-conflicts:\n - leaveUntransformed\n description:\n type: string\n x-dcl-go-name: Description\n description: Short description (max 256 chars).\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: Display name (max 256 chars).\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the resource\n x-kubernetes-immutable: true\n locationId:\n type: string\n x-dcl-go-name: LocationId\n readOnly: true\n description: Output only. The geographic location where this resource is\n stored.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: 'Output only. The template name. The template will have one\n of the following formats: `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID`\n OR `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`'\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: The parent of the resource\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Organization\n field: name\n parent: true\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 last update timestamp of an inspectTemplate.\n x-kubernetes-immutable: true\n") -// 422558 bytes -// MD5: cfa113036501ed78bedb36647d887493 +// 422741 bytes +// MD5: 0970a618e118e3676704ca2e35740690 diff --git a/services/google/gkehub/alpha/feature_membership.go b/services/google/gkehub/alpha/feature_membership.go index dec8b06e37..57df6d072b 100755 --- a/services/google/gkehub/alpha/feature_membership.go +++ b/services/google/gkehub/alpha/feature_membership.go @@ -35,33 +35,6 @@ func (r *FeatureMembership) String() string { return dcl.SprintResource(r) } -// The enum FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum. -type FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum string - -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef returns a *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum with the value of string s -// If the empty string is provided, nil is returned. -func FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef(s string) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - v := FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(s) - return &v -} - -func (v FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) Validate() error { - if string(v) == "" { - // Empty enum is okay. - return nil - } - for _, s := range []string{"MONITORING_BACKEND_UNSPECIFIED", "PROMETHEUS", "CLOUD_MONITORING"} { - if string(v) == s { - return nil - } - } - return &dcl.EnumInvalidError{ - Enum: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum", - Value: string(v), - Valid: []string{}, - } -} - type FeatureMembershipConfigmanagement struct { empty bool `json:"-"` ConfigSync *FeatureMembershipConfigmanagementConfigSync `json:"configSync"` @@ -240,15 +213,13 @@ func (r *FeatureMembershipConfigmanagementConfigSyncGit) HashCode() string { } type FeatureMembershipConfigmanagementPolicyController struct { - empty bool `json:"-"` - Enabled *bool `json:"enabled"` - ExemptableNamespaces []string `json:"exemptableNamespaces"` - ReferentialRulesEnabled *bool `json:"referentialRulesEnabled"` - LogDeniesEnabled *bool `json:"logDeniesEnabled"` - MutationEnabled *bool `json:"mutationEnabled"` - PolicyControllerMonitoring *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring `json:"policyControllerMonitoring"` - TemplateLibraryInstalled *bool `json:"templateLibraryInstalled"` - AuditIntervalSeconds *string `json:"auditIntervalSeconds"` + empty bool `json:"-"` + Enabled *bool `json:"enabled"` + ExemptableNamespaces []string `json:"exemptableNamespaces"` + ReferentialRulesEnabled *bool `json:"referentialRulesEnabled"` + LogDeniesEnabled *bool `json:"logDeniesEnabled"` + TemplateLibraryInstalled *bool `json:"templateLibraryInstalled"` + AuditIntervalSeconds *string `json:"auditIntervalSeconds"` } type jsonFeatureMembershipConfigmanagementPolicyController FeatureMembershipConfigmanagementPolicyController @@ -274,10 +245,6 @@ func (r *FeatureMembershipConfigmanagementPolicyController) UnmarshalJSON(data [ r.LogDeniesEnabled = res.LogDeniesEnabled - r.MutationEnabled = res.MutationEnabled - - r.PolicyControllerMonitoring = res.PolicyControllerMonitoring - r.TemplateLibraryInstalled = res.TemplateLibraryInstalled r.AuditIntervalSeconds = res.AuditIntervalSeconds @@ -306,52 +273,6 @@ func (r *FeatureMembershipConfigmanagementPolicyController) HashCode() string { return fmt.Sprintf("%x", hash) } -type FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring struct { - empty bool `json:"-"` - Backends []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum `json:"backends"` -} - -type jsonFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) UnmarshalJSON(data []byte) error { - var res jsonFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - if err := json.Unmarshal(data, &res); err != nil { - return err - } - - var m map[string]interface{} - json.Unmarshal(data, &m) - - if len(m) == 0 { - *r = *EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - } else { - - r.Backends = res.Backends - - } - return nil -} - -// This object is used to assert a desired state where this FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring is -// empty. Go lacks global const objects, but this object should be treated -// as one. Modifying this object will have undesirable results. -var EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{empty: true} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) Empty() bool { - return r.empty -} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) String() string { - return dcl.SprintResource(r) -} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) 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 FeatureMembershipConfigmanagementBinauthz struct { empty bool `json:"-"` Enabled *bool `json:"enabled"` diff --git a/services/google/gkehub/alpha/feature_membership.yaml b/services/google/gkehub/alpha/feature_membership.yaml index e87a5ab69a..287b567230 100755 --- a/services/google/gkehub/alpha/feature_membership.yaml +++ b/services/google/gkehub/alpha/feature_membership.yaml @@ -217,33 +217,6 @@ components: type: boolean x-dcl-go-name: LogDeniesEnabled description: Logs all denies and dry run failures. - mutationEnabled: - type: boolean - x-dcl-go-name: MutationEnabled - description: Enable or disable mutation in policy controller. If - true, mutation CRDs, webhook and controller deployment will be - deployed to the cluster. - policyControllerMonitoring: - type: object - x-dcl-go-name: PolicyControllerMonitoring - x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - description: 'PolicyControllerMonitoring specifies the backends - Policy Controller should export metrics to. For example, to specify - metrics should be exported to Cloud Monitoring and Prometheus, - specify backends: ["cloudmonitoring", "prometheus"]' - properties: - backends: - type: array - x-dcl-go-name: Backends - x-dcl-send-empty: true - x-dcl-list-type: list - items: - type: string - x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum - enum: - - MONITORING_BACKEND_UNSPECIFIED - - PROMETHEUS - - CLOUD_MONITORING referentialRulesEnabled: type: boolean x-dcl-go-name: ReferentialRulesEnabled diff --git a/services/google/gkehub/alpha/feature_membership_alpha_yaml_embed.go b/services/google/gkehub/alpha/feature_membership_alpha_yaml_embed.go index 64666b08f2..3ba3bd229a 100755 --- a/services/google/gkehub/alpha/feature_membership_alpha_yaml_embed.go +++ b/services/google/gkehub/alpha/feature_membership_alpha_yaml_embed.go @@ -17,7 +17,7 @@ package alpha // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/gkehub/alpha/feature_membership.yaml -var YAML_feature_membership = []byte("info:\n title: GkeHub/FeatureMembership\n description: The GkeHub FeatureMembership resource\n x-dcl-struct-name: FeatureMembership\n x-dcl-has-iam: false\n x-dcl-mutex: '{{project}}/{{location}}/{{feature}}'\npaths:\n get:\n description: The function used to get information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n apply:\n description: The function used to apply information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n delete:\n description: The function used to delete a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n deleteAll:\n description: The function used to delete all FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FeatureMembership:\n title: FeatureMembership\n x-dcl-id: projects/{{project}}/locations/{{location}}/features/{{feature}}/memberships/{{membership}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - configmanagement\n - project\n - location\n - feature\n - membership\n properties:\n configmanagement:\n type: object\n x-dcl-go-name: Configmanagement\n x-dcl-go-type: FeatureMembershipConfigmanagement\n description: Config Management-specific spec.\n properties:\n binauthz:\n type: object\n x-dcl-go-name: Binauthz\n x-dcl-go-type: FeatureMembershipConfigmanagementBinauthz\n description: Binauthz configuration for the cluster.\n properties:\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether binauthz is enabled in this cluster.\n configSync:\n type: object\n x-dcl-go-name: ConfigSync\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSync\n description: Config Sync configuration for the cluster.\n x-dcl-send-empty: true\n properties:\n git:\n type: object\n x-dcl-go-name: Git\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncGit\n properties:\n gcpServiceAccountEmail:\n type: string\n x-dcl-go-name: GcpServiceAccountEmail\n description: The GCP Service Account Email used for auth when\n secretType is gcpServiceAccount.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n httpsProxy:\n type: string\n x-dcl-go-name: HttpsProxy\n description: URL for the HTTPS proxy to be used when communicating\n with the Git repo.\n policyDir:\n type: string\n x-dcl-go-name: PolicyDir\n description: 'The path within the Git repository that represents\n the top level of the repo to sync. Default: the root directory\n of the repository.'\n secretType:\n type: string\n x-dcl-go-name: SecretType\n description: Type of secret configured for access to the Git\n repo.\n syncBranch:\n type: string\n x-dcl-go-name: SyncBranch\n description: 'The branch of the repository to sync from. Default:\n master.'\n syncRepo:\n type: string\n x-dcl-go-name: SyncRepo\n description: The URL of the Git repository to use as the source\n of truth.\n syncRev:\n type: string\n x-dcl-go-name: SyncRev\n description: Git revision (tag or hash) to check out. Default\n HEAD.\n syncWaitSecs:\n type: string\n x-dcl-go-name: SyncWaitSecs\n description: 'Period in seconds between consecutive syncs. Default:\n 15.'\n preventDrift:\n type: boolean\n x-dcl-go-name: PreventDrift\n description: Set to true to enable the Config Sync admission webhook\n to prevent drifts. If set to `false`, disables the Config Sync\n admission webhook and does not prevent drifts.\n x-dcl-server-default: true\n sourceFormat:\n type: string\n x-dcl-go-name: SourceFormat\n description: Specifies whether the Config Sync Repo is in \"hierarchical\"\n or \"unstructured\" mode.\n hierarchyController:\n type: object\n x-dcl-go-name: HierarchyController\n x-dcl-go-type: FeatureMembershipConfigmanagementHierarchyController\n description: Hierarchy Controller configuration for the cluster.\n properties:\n enableHierarchicalResourceQuota:\n type: boolean\n x-dcl-go-name: EnableHierarchicalResourceQuota\n description: Whether hierarchical resource quota is enabled in this\n cluster.\n enablePodTreeLabels:\n type: boolean\n x-dcl-go-name: EnablePodTreeLabels\n description: Whether pod tree labels are enabled in this cluster.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether Hierarchy Controller is enabled in this cluster.\n policyController:\n type: object\n x-dcl-go-name: PolicyController\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyController\n description: Policy Controller configuration for the cluster.\n properties:\n auditIntervalSeconds:\n type: string\n x-dcl-go-name: AuditIntervalSeconds\n description: Sets the interval for Policy Controller Audit Scans\n (in seconds). When set to 0, this disables audit functionality\n altogether.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Enables the installation of Policy Controller. If false,\n the rest of PolicyController fields take no effect.\n exemptableNamespaces:\n type: array\n x-dcl-go-name: ExemptableNamespaces\n description: The set of namespaces that are excluded from Policy\n Controller checks. Namespaces do not need to currently exist on\n the cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n logDeniesEnabled:\n type: boolean\n x-dcl-go-name: LogDeniesEnabled\n description: Logs all denies and dry run failures.\n mutationEnabled:\n type: boolean\n x-dcl-go-name: MutationEnabled\n description: Enable or disable mutation in policy controller. If\n true, mutation CRDs, webhook and controller deployment will be\n deployed to the cluster.\n policyControllerMonitoring:\n type: object\n x-dcl-go-name: PolicyControllerMonitoring\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring\n description: 'PolicyControllerMonitoring specifies the backends\n Policy Controller should export metrics to. For example, to specify\n metrics should be exported to Cloud Monitoring and Prometheus,\n specify backends: [\"cloudmonitoring\", \"prometheus\"]'\n properties:\n backends:\n type: array\n x-dcl-go-name: Backends\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum\n enum:\n - MONITORING_BACKEND_UNSPECIFIED\n - PROMETHEUS\n - CLOUD_MONITORING\n referentialRulesEnabled:\n type: boolean\n x-dcl-go-name: ReferentialRulesEnabled\n description: Enables the ability to use Constraint Templates that\n reference to objects other than the object currently being evaluated.\n templateLibraryInstalled:\n type: boolean\n x-dcl-go-name: TemplateLibraryInstalled\n description: Installs the default template library along with Policy\n Controller.\n version:\n type: string\n x-dcl-go-name: Version\n description: Optional. Version of ACM to install. Defaults to the latest\n version.\n x-dcl-server-default: true\n feature:\n type: string\n x-dcl-go-name: Feature\n description: The name of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Feature\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the feature\n x-kubernetes-immutable: true\n membership:\n type: string\n x-dcl-go-name: Membership\n description: The name of the membership\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Membership\n field: name\n project:\n type: string\n x-dcl-go-name: Project\n description: The project of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n") +var YAML_feature_membership = []byte("info:\n title: GkeHub/FeatureMembership\n description: The GkeHub FeatureMembership resource\n x-dcl-struct-name: FeatureMembership\n x-dcl-has-iam: false\n x-dcl-mutex: '{{project}}/{{location}}/{{feature}}'\npaths:\n get:\n description: The function used to get information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n apply:\n description: The function used to apply information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n delete:\n description: The function used to delete a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n deleteAll:\n description: The function used to delete all FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FeatureMembership:\n title: FeatureMembership\n x-dcl-id: projects/{{project}}/locations/{{location}}/features/{{feature}}/memberships/{{membership}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - configmanagement\n - project\n - location\n - feature\n - membership\n properties:\n configmanagement:\n type: object\n x-dcl-go-name: Configmanagement\n x-dcl-go-type: FeatureMembershipConfigmanagement\n description: Config Management-specific spec.\n properties:\n binauthz:\n type: object\n x-dcl-go-name: Binauthz\n x-dcl-go-type: FeatureMembershipConfigmanagementBinauthz\n description: Binauthz configuration for the cluster.\n properties:\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether binauthz is enabled in this cluster.\n configSync:\n type: object\n x-dcl-go-name: ConfigSync\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSync\n description: Config Sync configuration for the cluster.\n x-dcl-send-empty: true\n properties:\n git:\n type: object\n x-dcl-go-name: Git\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncGit\n properties:\n gcpServiceAccountEmail:\n type: string\n x-dcl-go-name: GcpServiceAccountEmail\n description: The GCP Service Account Email used for auth when\n secretType is gcpServiceAccount.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n httpsProxy:\n type: string\n x-dcl-go-name: HttpsProxy\n description: URL for the HTTPS proxy to be used when communicating\n with the Git repo.\n policyDir:\n type: string\n x-dcl-go-name: PolicyDir\n description: 'The path within the Git repository that represents\n the top level of the repo to sync. Default: the root directory\n of the repository.'\n secretType:\n type: string\n x-dcl-go-name: SecretType\n description: Type of secret configured for access to the Git\n repo.\n syncBranch:\n type: string\n x-dcl-go-name: SyncBranch\n description: 'The branch of the repository to sync from. Default:\n master.'\n syncRepo:\n type: string\n x-dcl-go-name: SyncRepo\n description: The URL of the Git repository to use as the source\n of truth.\n syncRev:\n type: string\n x-dcl-go-name: SyncRev\n description: Git revision (tag or hash) to check out. Default\n HEAD.\n syncWaitSecs:\n type: string\n x-dcl-go-name: SyncWaitSecs\n description: 'Period in seconds between consecutive syncs. Default:\n 15.'\n preventDrift:\n type: boolean\n x-dcl-go-name: PreventDrift\n description: Set to true to enable the Config Sync admission webhook\n to prevent drifts. If set to `false`, disables the Config Sync\n admission webhook and does not prevent drifts.\n x-dcl-server-default: true\n sourceFormat:\n type: string\n x-dcl-go-name: SourceFormat\n description: Specifies whether the Config Sync Repo is in \"hierarchical\"\n or \"unstructured\" mode.\n hierarchyController:\n type: object\n x-dcl-go-name: HierarchyController\n x-dcl-go-type: FeatureMembershipConfigmanagementHierarchyController\n description: Hierarchy Controller configuration for the cluster.\n properties:\n enableHierarchicalResourceQuota:\n type: boolean\n x-dcl-go-name: EnableHierarchicalResourceQuota\n description: Whether hierarchical resource quota is enabled in this\n cluster.\n enablePodTreeLabels:\n type: boolean\n x-dcl-go-name: EnablePodTreeLabels\n description: Whether pod tree labels are enabled in this cluster.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether Hierarchy Controller is enabled in this cluster.\n policyController:\n type: object\n x-dcl-go-name: PolicyController\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyController\n description: Policy Controller configuration for the cluster.\n properties:\n auditIntervalSeconds:\n type: string\n x-dcl-go-name: AuditIntervalSeconds\n description: Sets the interval for Policy Controller Audit Scans\n (in seconds). When set to 0, this disables audit functionality\n altogether.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Enables the installation of Policy Controller. If false,\n the rest of PolicyController fields take no effect.\n exemptableNamespaces:\n type: array\n x-dcl-go-name: ExemptableNamespaces\n description: The set of namespaces that are excluded from Policy\n Controller checks. Namespaces do not need to currently exist on\n the cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n logDeniesEnabled:\n type: boolean\n x-dcl-go-name: LogDeniesEnabled\n description: Logs all denies and dry run failures.\n referentialRulesEnabled:\n type: boolean\n x-dcl-go-name: ReferentialRulesEnabled\n description: Enables the ability to use Constraint Templates that\n reference to objects other than the object currently being evaluated.\n templateLibraryInstalled:\n type: boolean\n x-dcl-go-name: TemplateLibraryInstalled\n description: Installs the default template library along with Policy\n Controller.\n version:\n type: string\n x-dcl-go-name: Version\n description: Optional. Version of ACM to install. Defaults to the latest\n version.\n x-dcl-server-default: true\n feature:\n type: string\n x-dcl-go-name: Feature\n description: The name of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Feature\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the feature\n x-kubernetes-immutable: true\n membership:\n type: string\n x-dcl-go-name: Membership\n description: The name of the membership\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Membership\n field: name\n project:\n type: string\n x-dcl-go-name: Project\n description: The project of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n") -// 11621 bytes -// MD5: f2b37e95137882c55c2859e39841483a +// 10137 bytes +// MD5: 8978f165e7325b73ae5da9c53abb78f4 diff --git a/services/google/gkehub/alpha/feature_membership_internal.go b/services/google/gkehub/alpha/feature_membership_internal.go index a97ea518e1..9f56994401 100755 --- a/services/google/gkehub/alpha/feature_membership_internal.go +++ b/services/google/gkehub/alpha/feature_membership_internal.go @@ -81,14 +81,6 @@ func (r *FeatureMembershipConfigmanagementConfigSyncGit) validate() error { return nil } func (r *FeatureMembershipConfigmanagementPolicyController) validate() error { - if !dcl.IsEmptyValueIndirect(r.PolicyControllerMonitoring) { - if err := r.PolicyControllerMonitoring.validate(); err != nil { - return err - } - } - return nil -} -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) validate() error { return nil } func (r *FeatureMembershipConfigmanagementBinauthz) validate() error { @@ -787,12 +779,6 @@ func canonicalizeFeatureMembershipConfigmanagementPolicyController(des, initial } else { cDes.LogDeniesEnabled = des.LogDeniesEnabled } - if dcl.BoolCanonicalize(des.MutationEnabled, initial.MutationEnabled) || dcl.IsZeroValue(des.MutationEnabled) { - cDes.MutationEnabled = initial.MutationEnabled - } else { - cDes.MutationEnabled = des.MutationEnabled - } - cDes.PolicyControllerMonitoring = canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(des.PolicyControllerMonitoring, initial.PolicyControllerMonitoring, opts...) if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, initial.TemplateLibraryInstalled) || dcl.IsZeroValue(des.TemplateLibraryInstalled) { cDes.TemplateLibraryInstalled = initial.TemplateLibraryInstalled } else { @@ -861,10 +847,6 @@ func canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c *Client, if dcl.BoolCanonicalize(des.LogDeniesEnabled, nw.LogDeniesEnabled) { nw.LogDeniesEnabled = des.LogDeniesEnabled } - if dcl.BoolCanonicalize(des.MutationEnabled, nw.MutationEnabled) { - nw.MutationEnabled = des.MutationEnabled - } - nw.PolicyControllerMonitoring = canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, des.PolicyControllerMonitoring, nw.PolicyControllerMonitoring) if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, nw.TemplateLibraryInstalled) { nw.TemplateLibraryInstalled = des.TemplateLibraryInstalled } @@ -918,118 +900,6 @@ func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerSlice(c *Cl return items } -func canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(des, initial *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if des == nil { - return initial - } - if des.empty { - return des - } - - if initial == nil { - return des - } - - cDes := &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - - if dcl.IsZeroValue(des.Backends) || (dcl.IsEmptyValueIndirect(des.Backends) && dcl.IsEmptyValueIndirect(initial.Backends)) { - // Desired and initial values are equivalent, so set canonical desired value to initial value. - cDes.Backends = initial.Backends - } else { - cDes.Backends = des.Backends - } - - return cDes -} - -func canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(des, initial []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if dcl.IsEmptyValueIndirect(des) { - return initial - } - - if len(des) != len(initial) { - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(des)) - for _, d := range des { - cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(&d, nil, opts...) - if cd != nil { - items = append(items, *cd) - } - } - return items - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(des)) - for i, d := range des { - cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(&d, &initial[i], opts...) - if cd != nil { - items = append(items, *cd) - } - } - return items - -} - -func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, des, nw *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - - if des == nil { - return nw - } - - if nw == nil { - if dcl.IsNotReturnedByServer(des) { - c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring while comparing non-nil desired to nil actual. Returning desired object.") - return des - } - return nil - } - - return nw -} - -func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSet(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if des == nil { - return nw - } - var reorderedNew []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - for _, d := range des { - matchedNew := -1 - for idx, n := range nw { - if diffs, _ := compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle(&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 canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - 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 []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - for i, d := range des { - n := nw[i] - items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &d, &n)) - } - - return items -} - func canonicalizeFeatureMembershipConfigmanagementBinauthz(des, initial *FeatureMembershipConfigmanagementBinauthz, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementBinauthz { if des == nil { return initial @@ -1557,20 +1427,6 @@ func compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(d, a inter diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MutationEnabled, actual.MutationEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MutationEnabled")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.PolicyControllerMonitoring, actual.PolicyControllerMonitoring, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyControllerMonitoring")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - if ds, err := dcl.Diff(desired.TemplateLibraryInstalled, actual.TemplateLibraryInstalled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TemplateLibraryInstalled")); len(ds) != 0 || err != nil { if err != nil { return nil, err @@ -1587,35 +1443,6 @@ func compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(d, a inter return diffs, nil } -func compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - - desired, ok := d.(*FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring or *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - actualNotPointer, ok := a.(FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", a) - } - actual = &actualNotPointer - } - - if ds, err := dcl.Diff(desired.Backends, actual.Backends, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Backends")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - return diffs, nil -} - func compareFeatureMembershipConfigmanagementBinauthzNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff @@ -2305,14 +2132,6 @@ func expandFeatureMembershipConfigmanagementPolicyController(c *Client, f *Featu if v := f.LogDeniesEnabled; !dcl.IsEmptyValueIndirect(v) { m["logDeniesEnabled"] = v } - if v := f.MutationEnabled; !dcl.IsEmptyValueIndirect(v) { - m["mutationEnabled"] = v - } - if v, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, f.PolicyControllerMonitoring, res); err != nil { - return nil, fmt.Errorf("error expanding PolicyControllerMonitoring into policyControllerMonitoring: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["policyControllerMonitoring"] = v - } if v := f.TemplateLibraryInstalled; !dcl.IsEmptyValueIndirect(v) { m["templateLibraryInstalled"] = v } @@ -2340,128 +2159,12 @@ func flattenFeatureMembershipConfigmanagementPolicyController(c *Client, i inter r.ExemptableNamespaces = dcl.FlattenStringSlice(m["exemptableNamespaces"]) r.ReferentialRulesEnabled = dcl.FlattenBool(m["referentialRulesEnabled"]) r.LogDeniesEnabled = dcl.FlattenBool(m["logDeniesEnabled"]) - r.MutationEnabled = dcl.FlattenBool(m["mutationEnabled"]) - r.PolicyControllerMonitoring = flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, m["policyControllerMonitoring"], res) r.TemplateLibraryInstalled = dcl.FlattenBool(m["templateLibraryInstalled"]) r.AuditIntervalSeconds = dcl.FlattenString(m["auditIntervalSeconds"]) return r } -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap expands the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap(c *Client, f map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) { - if f == nil { - return nil, nil - } - - items := make(map[string]interface{}) - for k, item := range f { - i, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &item, res) - if err != nil { - return nil, err - } - if i != nil { - items[k] = i - } - } - - return items, nil -} - -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice expands the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, f []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) ([]map[string]interface{}, error) { - if f == nil { - return nil, nil - } - - items := []map[string]interface{}{} - for _, item := range f { - i, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &item, res) - if err != nil { - return nil, err - } - - items = append(items, i) - } - - return items, nil -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - if len(a) == 0 { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - for k, item := range a { - items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, item.(map[string]interface{}), res) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - a, ok := i.([]interface{}) - if !ok { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - if len(a) == 0 { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(a)) - for _, item := range a { - items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, item.(map[string]interface{}), res)) - } - - return items -} - -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring expands an instance of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, f *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) { - if dcl.IsEmptyValueIndirect(f) { - return nil, nil - } - - m := make(map[string]interface{}) - if v := f.Backends; v != nil { - m["backends"] = v - } - - return m, nil -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring flattens an instance of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - m, ok := i.(map[string]interface{}) - if !ok { - return nil - } - - r := &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - - if dcl.IsEmptyValueIndirect(i) { - return EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - } - r.Backends = flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice(c, m["backends"], res) - - return r -} - // expandFeatureMembershipConfigmanagementBinauthzMap expands the contents of FeatureMembershipConfigmanagementBinauthz into a JSON // request object. func expandFeatureMembershipConfigmanagementBinauthzMap(c *Client, f map[string]FeatureMembershipConfigmanagementBinauthz, res *FeatureMembership) (map[string]interface{}, error) { @@ -2698,57 +2401,6 @@ func flattenFeatureMembershipConfigmanagementHierarchyController(c *Client, i in return r } -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - if len(a) == 0 { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) - for k, item := range a { - items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(item.(interface{})) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - a, ok := i.([]interface{}) - if !ok { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - if len(a) == 0 { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum, 0, len(a)) - for _, item := range a { - items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(item.(interface{}))) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum asserts that an interface is a string, and returns a -// pointer to a *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum with the same value as that string. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(i interface{}) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - s, ok := i.(string) - if !ok { - return nil - } - - return FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef(s) -} - // This function returns a matcher that checks whether a serialized resource matches this resource // in its parameters (as defined by the fields in a Get, which definitionally define resource // identity). This is useful in extracting the element from a List call. @@ -2919,20 +2571,6 @@ func extractFeatureMembershipConfigmanagementConfigSyncGitFields(r *FeatureMembe return nil } func extractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error { - vPolicyControllerMonitoring := o.PolicyControllerMonitoring - if vPolicyControllerMonitoring == nil { - // note: explicitly not the empty object. - vPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - if err := extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r, vPolicyControllerMonitoring); err != nil { - return err - } - if !dcl.IsNotReturnedByServer(vPolicyControllerMonitoring) { - o.PolicyControllerMonitoring = vPolicyControllerMonitoring - } - return nil -} -func extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) error { return nil } func extractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error { @@ -3021,20 +2659,6 @@ func postReadExtractFeatureMembershipConfigmanagementConfigSyncGitFields(r *Feat return nil } func postReadExtractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error { - vPolicyControllerMonitoring := o.PolicyControllerMonitoring - if vPolicyControllerMonitoring == nil { - // note: explicitly not the empty object. - vPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - if err := extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r, vPolicyControllerMonitoring); err != nil { - return err - } - if !dcl.IsNotReturnedByServer(vPolicyControllerMonitoring) { - o.PolicyControllerMonitoring = vPolicyControllerMonitoring - } - return nil -} -func postReadExtractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) error { return nil } func postReadExtractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error { diff --git a/services/google/gkehub/alpha/feature_membership_schema.go b/services/google/gkehub/alpha/feature_membership_schema.go index e6853612db..b5dfcb7543 100755 --- a/services/google/gkehub/alpha/feature_membership_schema.go +++ b/services/google/gkehub/alpha/feature_membership_schema.go @@ -273,34 +273,6 @@ func DCLFeatureMembershipSchema() *dcl.Schema { GoName: "LogDeniesEnabled", Description: "Logs all denies and dry run failures.", }, - "mutationEnabled": &dcl.Property{ - Type: "boolean", - GoName: "MutationEnabled", - Description: "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", - }, - "policyControllerMonitoring": &dcl.Property{ - Type: "object", - GoName: "PolicyControllerMonitoring", - GoType: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", - Description: "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", - Properties: map[string]*dcl.Property{ - "backends": &dcl.Property{ - Type: "array", - GoName: "Backends", - SendEmpty: true, - ListType: "list", - Items: &dcl.Property{ - Type: "string", - GoType: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum", - Enum: []string{ - "MONITORING_BACKEND_UNSPECIFIED", - "PROMETHEUS", - "CLOUD_MONITORING", - }, - }, - }, - }, - }, "referentialRulesEnabled": &dcl.Property{ Type: "boolean", GoName: "ReferentialRulesEnabled", diff --git a/services/google/gkehub/beta/feature_membership.go b/services/google/gkehub/beta/feature_membership.go index e801a4fe34..7a3b96ed95 100755 --- a/services/google/gkehub/beta/feature_membership.go +++ b/services/google/gkehub/beta/feature_membership.go @@ -35,33 +35,6 @@ func (r *FeatureMembership) String() string { return dcl.SprintResource(r) } -// The enum FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum. -type FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum string - -// FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef returns a *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum with the value of string s -// If the empty string is provided, nil is returned. -func FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef(s string) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - v := FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(s) - return &v -} - -func (v FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) Validate() error { - if string(v) == "" { - // Empty enum is okay. - return nil - } - for _, s := range []string{"MONITORING_BACKEND_UNSPECIFIED", "PROMETHEUS", "CLOUD_MONITORING"} { - if string(v) == s { - return nil - } - } - return &dcl.EnumInvalidError{ - Enum: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum", - Value: string(v), - Valid: []string{}, - } -} - type FeatureMembershipConfigmanagement struct { empty bool `json:"-"` ConfigSync *FeatureMembershipConfigmanagementConfigSync `json:"configSync"` @@ -240,15 +213,13 @@ func (r *FeatureMembershipConfigmanagementConfigSyncGit) HashCode() string { } type FeatureMembershipConfigmanagementPolicyController struct { - empty bool `json:"-"` - Enabled *bool `json:"enabled"` - ExemptableNamespaces []string `json:"exemptableNamespaces"` - ReferentialRulesEnabled *bool `json:"referentialRulesEnabled"` - LogDeniesEnabled *bool `json:"logDeniesEnabled"` - MutationEnabled *bool `json:"mutationEnabled"` - PolicyControllerMonitoring *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring `json:"policyControllerMonitoring"` - TemplateLibraryInstalled *bool `json:"templateLibraryInstalled"` - AuditIntervalSeconds *string `json:"auditIntervalSeconds"` + empty bool `json:"-"` + Enabled *bool `json:"enabled"` + ExemptableNamespaces []string `json:"exemptableNamespaces"` + ReferentialRulesEnabled *bool `json:"referentialRulesEnabled"` + LogDeniesEnabled *bool `json:"logDeniesEnabled"` + TemplateLibraryInstalled *bool `json:"templateLibraryInstalled"` + AuditIntervalSeconds *string `json:"auditIntervalSeconds"` } type jsonFeatureMembershipConfigmanagementPolicyController FeatureMembershipConfigmanagementPolicyController @@ -274,10 +245,6 @@ func (r *FeatureMembershipConfigmanagementPolicyController) UnmarshalJSON(data [ r.LogDeniesEnabled = res.LogDeniesEnabled - r.MutationEnabled = res.MutationEnabled - - r.PolicyControllerMonitoring = res.PolicyControllerMonitoring - r.TemplateLibraryInstalled = res.TemplateLibraryInstalled r.AuditIntervalSeconds = res.AuditIntervalSeconds @@ -306,52 +273,6 @@ func (r *FeatureMembershipConfigmanagementPolicyController) HashCode() string { return fmt.Sprintf("%x", hash) } -type FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring struct { - empty bool `json:"-"` - Backends []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum `json:"backends"` -} - -type jsonFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) UnmarshalJSON(data []byte) error { - var res jsonFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - if err := json.Unmarshal(data, &res); err != nil { - return err - } - - var m map[string]interface{} - json.Unmarshal(data, &m) - - if len(m) == 0 { - *r = *EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - } else { - - r.Backends = res.Backends - - } - return nil -} - -// This object is used to assert a desired state where this FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring is -// empty. Go lacks global const objects, but this object should be treated -// as one. Modifying this object will have undesirable results. -var EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{empty: true} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) Empty() bool { - return r.empty -} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) String() string { - return dcl.SprintResource(r) -} - -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) 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 FeatureMembershipConfigmanagementBinauthz struct { empty bool `json:"-"` Enabled *bool `json:"enabled"` diff --git a/services/google/gkehub/beta/feature_membership.yaml b/services/google/gkehub/beta/feature_membership.yaml index e87a5ab69a..287b567230 100755 --- a/services/google/gkehub/beta/feature_membership.yaml +++ b/services/google/gkehub/beta/feature_membership.yaml @@ -217,33 +217,6 @@ components: type: boolean x-dcl-go-name: LogDeniesEnabled description: Logs all denies and dry run failures. - mutationEnabled: - type: boolean - x-dcl-go-name: MutationEnabled - description: Enable or disable mutation in policy controller. If - true, mutation CRDs, webhook and controller deployment will be - deployed to the cluster. - policyControllerMonitoring: - type: object - x-dcl-go-name: PolicyControllerMonitoring - x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - description: 'PolicyControllerMonitoring specifies the backends - Policy Controller should export metrics to. For example, to specify - metrics should be exported to Cloud Monitoring and Prometheus, - specify backends: ["cloudmonitoring", "prometheus"]' - properties: - backends: - type: array - x-dcl-go-name: Backends - x-dcl-send-empty: true - x-dcl-list-type: list - items: - type: string - x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum - enum: - - MONITORING_BACKEND_UNSPECIFIED - - PROMETHEUS - - CLOUD_MONITORING referentialRulesEnabled: type: boolean x-dcl-go-name: ReferentialRulesEnabled diff --git a/services/google/gkehub/beta/feature_membership_beta_yaml_embed.go b/services/google/gkehub/beta/feature_membership_beta_yaml_embed.go index fbf914393c..41f53b778e 100755 --- a/services/google/gkehub/beta/feature_membership_beta_yaml_embed.go +++ b/services/google/gkehub/beta/feature_membership_beta_yaml_embed.go @@ -17,7 +17,7 @@ package beta // blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/gkehub/beta/feature_membership.yaml -var YAML_feature_membership = []byte("info:\n title: GkeHub/FeatureMembership\n description: The GkeHub FeatureMembership resource\n x-dcl-struct-name: FeatureMembership\n x-dcl-has-iam: false\n x-dcl-mutex: '{{project}}/{{location}}/{{feature}}'\npaths:\n get:\n description: The function used to get information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n apply:\n description: The function used to apply information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n delete:\n description: The function used to delete a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n deleteAll:\n description: The function used to delete all FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FeatureMembership:\n title: FeatureMembership\n x-dcl-id: projects/{{project}}/locations/{{location}}/features/{{feature}}/memberships/{{membership}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - configmanagement\n - project\n - location\n - feature\n - membership\n properties:\n configmanagement:\n type: object\n x-dcl-go-name: Configmanagement\n x-dcl-go-type: FeatureMembershipConfigmanagement\n description: Config Management-specific spec.\n properties:\n binauthz:\n type: object\n x-dcl-go-name: Binauthz\n x-dcl-go-type: FeatureMembershipConfigmanagementBinauthz\n description: Binauthz configuration for the cluster.\n properties:\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether binauthz is enabled in this cluster.\n configSync:\n type: object\n x-dcl-go-name: ConfigSync\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSync\n description: Config Sync configuration for the cluster.\n x-dcl-send-empty: true\n properties:\n git:\n type: object\n x-dcl-go-name: Git\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncGit\n properties:\n gcpServiceAccountEmail:\n type: string\n x-dcl-go-name: GcpServiceAccountEmail\n description: The GCP Service Account Email used for auth when\n secretType is gcpServiceAccount.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n httpsProxy:\n type: string\n x-dcl-go-name: HttpsProxy\n description: URL for the HTTPS proxy to be used when communicating\n with the Git repo.\n policyDir:\n type: string\n x-dcl-go-name: PolicyDir\n description: 'The path within the Git repository that represents\n the top level of the repo to sync. Default: the root directory\n of the repository.'\n secretType:\n type: string\n x-dcl-go-name: SecretType\n description: Type of secret configured for access to the Git\n repo.\n syncBranch:\n type: string\n x-dcl-go-name: SyncBranch\n description: 'The branch of the repository to sync from. Default:\n master.'\n syncRepo:\n type: string\n x-dcl-go-name: SyncRepo\n description: The URL of the Git repository to use as the source\n of truth.\n syncRev:\n type: string\n x-dcl-go-name: SyncRev\n description: Git revision (tag or hash) to check out. Default\n HEAD.\n syncWaitSecs:\n type: string\n x-dcl-go-name: SyncWaitSecs\n description: 'Period in seconds between consecutive syncs. Default:\n 15.'\n preventDrift:\n type: boolean\n x-dcl-go-name: PreventDrift\n description: Set to true to enable the Config Sync admission webhook\n to prevent drifts. If set to `false`, disables the Config Sync\n admission webhook and does not prevent drifts.\n x-dcl-server-default: true\n sourceFormat:\n type: string\n x-dcl-go-name: SourceFormat\n description: Specifies whether the Config Sync Repo is in \"hierarchical\"\n or \"unstructured\" mode.\n hierarchyController:\n type: object\n x-dcl-go-name: HierarchyController\n x-dcl-go-type: FeatureMembershipConfigmanagementHierarchyController\n description: Hierarchy Controller configuration for the cluster.\n properties:\n enableHierarchicalResourceQuota:\n type: boolean\n x-dcl-go-name: EnableHierarchicalResourceQuota\n description: Whether hierarchical resource quota is enabled in this\n cluster.\n enablePodTreeLabels:\n type: boolean\n x-dcl-go-name: EnablePodTreeLabels\n description: Whether pod tree labels are enabled in this cluster.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether Hierarchy Controller is enabled in this cluster.\n policyController:\n type: object\n x-dcl-go-name: PolicyController\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyController\n description: Policy Controller configuration for the cluster.\n properties:\n auditIntervalSeconds:\n type: string\n x-dcl-go-name: AuditIntervalSeconds\n description: Sets the interval for Policy Controller Audit Scans\n (in seconds). When set to 0, this disables audit functionality\n altogether.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Enables the installation of Policy Controller. If false,\n the rest of PolicyController fields take no effect.\n exemptableNamespaces:\n type: array\n x-dcl-go-name: ExemptableNamespaces\n description: The set of namespaces that are excluded from Policy\n Controller checks. Namespaces do not need to currently exist on\n the cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n logDeniesEnabled:\n type: boolean\n x-dcl-go-name: LogDeniesEnabled\n description: Logs all denies and dry run failures.\n mutationEnabled:\n type: boolean\n x-dcl-go-name: MutationEnabled\n description: Enable or disable mutation in policy controller. If\n true, mutation CRDs, webhook and controller deployment will be\n deployed to the cluster.\n policyControllerMonitoring:\n type: object\n x-dcl-go-name: PolicyControllerMonitoring\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring\n description: 'PolicyControllerMonitoring specifies the backends\n Policy Controller should export metrics to. For example, to specify\n metrics should be exported to Cloud Monitoring and Prometheus,\n specify backends: [\"cloudmonitoring\", \"prometheus\"]'\n properties:\n backends:\n type: array\n x-dcl-go-name: Backends\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum\n enum:\n - MONITORING_BACKEND_UNSPECIFIED\n - PROMETHEUS\n - CLOUD_MONITORING\n referentialRulesEnabled:\n type: boolean\n x-dcl-go-name: ReferentialRulesEnabled\n description: Enables the ability to use Constraint Templates that\n reference to objects other than the object currently being evaluated.\n templateLibraryInstalled:\n type: boolean\n x-dcl-go-name: TemplateLibraryInstalled\n description: Installs the default template library along with Policy\n Controller.\n version:\n type: string\n x-dcl-go-name: Version\n description: Optional. Version of ACM to install. Defaults to the latest\n version.\n x-dcl-server-default: true\n feature:\n type: string\n x-dcl-go-name: Feature\n description: The name of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Feature\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the feature\n x-kubernetes-immutable: true\n membership:\n type: string\n x-dcl-go-name: Membership\n description: The name of the membership\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Membership\n field: name\n project:\n type: string\n x-dcl-go-name: Project\n description: The project of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n") +var YAML_feature_membership = []byte("info:\n title: GkeHub/FeatureMembership\n description: The GkeHub FeatureMembership resource\n x-dcl-struct-name: FeatureMembership\n x-dcl-has-iam: false\n x-dcl-mutex: '{{project}}/{{location}}/{{feature}}'\npaths:\n get:\n description: The function used to get information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n apply:\n description: The function used to apply information about a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n delete:\n description: The function used to delete a FeatureMembership\n parameters:\n - name: FeatureMembership\n required: true\n description: A full instance of a FeatureMembership\n deleteAll:\n description: The function used to delete all FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many FeatureMembership\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 - name: feature\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n FeatureMembership:\n title: FeatureMembership\n x-dcl-id: projects/{{project}}/locations/{{location}}/features/{{feature}}/memberships/{{membership}}\n x-dcl-parent-container: project\n x-dcl-has-create: true\n x-dcl-has-iam: false\n type: object\n required:\n - configmanagement\n - project\n - location\n - feature\n - membership\n properties:\n configmanagement:\n type: object\n x-dcl-go-name: Configmanagement\n x-dcl-go-type: FeatureMembershipConfigmanagement\n description: Config Management-specific spec.\n properties:\n binauthz:\n type: object\n x-dcl-go-name: Binauthz\n x-dcl-go-type: FeatureMembershipConfigmanagementBinauthz\n description: Binauthz configuration for the cluster.\n properties:\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether binauthz is enabled in this cluster.\n configSync:\n type: object\n x-dcl-go-name: ConfigSync\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSync\n description: Config Sync configuration for the cluster.\n x-dcl-send-empty: true\n properties:\n git:\n type: object\n x-dcl-go-name: Git\n x-dcl-go-type: FeatureMembershipConfigmanagementConfigSyncGit\n properties:\n gcpServiceAccountEmail:\n type: string\n x-dcl-go-name: GcpServiceAccountEmail\n description: The GCP Service Account Email used for auth when\n secretType is gcpServiceAccount.\n x-dcl-references:\n - resource: Iam/ServiceAccount\n field: email\n httpsProxy:\n type: string\n x-dcl-go-name: HttpsProxy\n description: URL for the HTTPS proxy to be used when communicating\n with the Git repo.\n policyDir:\n type: string\n x-dcl-go-name: PolicyDir\n description: 'The path within the Git repository that represents\n the top level of the repo to sync. Default: the root directory\n of the repository.'\n secretType:\n type: string\n x-dcl-go-name: SecretType\n description: Type of secret configured for access to the Git\n repo.\n syncBranch:\n type: string\n x-dcl-go-name: SyncBranch\n description: 'The branch of the repository to sync from. Default:\n master.'\n syncRepo:\n type: string\n x-dcl-go-name: SyncRepo\n description: The URL of the Git repository to use as the source\n of truth.\n syncRev:\n type: string\n x-dcl-go-name: SyncRev\n description: Git revision (tag or hash) to check out. Default\n HEAD.\n syncWaitSecs:\n type: string\n x-dcl-go-name: SyncWaitSecs\n description: 'Period in seconds between consecutive syncs. Default:\n 15.'\n preventDrift:\n type: boolean\n x-dcl-go-name: PreventDrift\n description: Set to true to enable the Config Sync admission webhook\n to prevent drifts. If set to `false`, disables the Config Sync\n admission webhook and does not prevent drifts.\n x-dcl-server-default: true\n sourceFormat:\n type: string\n x-dcl-go-name: SourceFormat\n description: Specifies whether the Config Sync Repo is in \"hierarchical\"\n or \"unstructured\" mode.\n hierarchyController:\n type: object\n x-dcl-go-name: HierarchyController\n x-dcl-go-type: FeatureMembershipConfigmanagementHierarchyController\n description: Hierarchy Controller configuration for the cluster.\n properties:\n enableHierarchicalResourceQuota:\n type: boolean\n x-dcl-go-name: EnableHierarchicalResourceQuota\n description: Whether hierarchical resource quota is enabled in this\n cluster.\n enablePodTreeLabels:\n type: boolean\n x-dcl-go-name: EnablePodTreeLabels\n description: Whether pod tree labels are enabled in this cluster.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Whether Hierarchy Controller is enabled in this cluster.\n policyController:\n type: object\n x-dcl-go-name: PolicyController\n x-dcl-go-type: FeatureMembershipConfigmanagementPolicyController\n description: Policy Controller configuration for the cluster.\n properties:\n auditIntervalSeconds:\n type: string\n x-dcl-go-name: AuditIntervalSeconds\n description: Sets the interval for Policy Controller Audit Scans\n (in seconds). When set to 0, this disables audit functionality\n altogether.\n enabled:\n type: boolean\n x-dcl-go-name: Enabled\n description: Enables the installation of Policy Controller. If false,\n the rest of PolicyController fields take no effect.\n exemptableNamespaces:\n type: array\n x-dcl-go-name: ExemptableNamespaces\n description: The set of namespaces that are excluded from Policy\n Controller checks. Namespaces do not need to currently exist on\n the cluster.\n x-dcl-send-empty: true\n x-dcl-list-type: list\n items:\n type: string\n x-dcl-go-type: string\n logDeniesEnabled:\n type: boolean\n x-dcl-go-name: LogDeniesEnabled\n description: Logs all denies and dry run failures.\n referentialRulesEnabled:\n type: boolean\n x-dcl-go-name: ReferentialRulesEnabled\n description: Enables the ability to use Constraint Templates that\n reference to objects other than the object currently being evaluated.\n templateLibraryInstalled:\n type: boolean\n x-dcl-go-name: TemplateLibraryInstalled\n description: Installs the default template library along with Policy\n Controller.\n version:\n type: string\n x-dcl-go-name: Version\n description: Optional. Version of ACM to install. Defaults to the latest\n version.\n x-dcl-server-default: true\n feature:\n type: string\n x-dcl-go-name: Feature\n description: The name of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Feature\n field: name\n parent: true\n location:\n type: string\n x-dcl-go-name: Location\n description: The location of the feature\n x-kubernetes-immutable: true\n membership:\n type: string\n x-dcl-go-name: Membership\n description: The name of the membership\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Gkehub/Membership\n field: name\n project:\n type: string\n x-dcl-go-name: Project\n description: The project of the feature\n x-kubernetes-immutable: true\n x-dcl-references:\n - resource: Cloudresourcemanager/Project\n field: name\n parent: true\n") -// 11621 bytes -// MD5: f2b37e95137882c55c2859e39841483a +// 10137 bytes +// MD5: 8978f165e7325b73ae5da9c53abb78f4 diff --git a/services/google/gkehub/beta/feature_membership_internal.go b/services/google/gkehub/beta/feature_membership_internal.go index a073cc9259..f3f8770dd2 100755 --- a/services/google/gkehub/beta/feature_membership_internal.go +++ b/services/google/gkehub/beta/feature_membership_internal.go @@ -81,14 +81,6 @@ func (r *FeatureMembershipConfigmanagementConfigSyncGit) validate() error { return nil } func (r *FeatureMembershipConfigmanagementPolicyController) validate() error { - if !dcl.IsEmptyValueIndirect(r.PolicyControllerMonitoring) { - if err := r.PolicyControllerMonitoring.validate(); err != nil { - return err - } - } - return nil -} -func (r *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) validate() error { return nil } func (r *FeatureMembershipConfigmanagementBinauthz) validate() error { @@ -787,12 +779,6 @@ func canonicalizeFeatureMembershipConfigmanagementPolicyController(des, initial } else { cDes.LogDeniesEnabled = des.LogDeniesEnabled } - if dcl.BoolCanonicalize(des.MutationEnabled, initial.MutationEnabled) || dcl.IsZeroValue(des.MutationEnabled) { - cDes.MutationEnabled = initial.MutationEnabled - } else { - cDes.MutationEnabled = des.MutationEnabled - } - cDes.PolicyControllerMonitoring = canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(des.PolicyControllerMonitoring, initial.PolicyControllerMonitoring, opts...) if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, initial.TemplateLibraryInstalled) || dcl.IsZeroValue(des.TemplateLibraryInstalled) { cDes.TemplateLibraryInstalled = initial.TemplateLibraryInstalled } else { @@ -861,10 +847,6 @@ func canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c *Client, if dcl.BoolCanonicalize(des.LogDeniesEnabled, nw.LogDeniesEnabled) { nw.LogDeniesEnabled = des.LogDeniesEnabled } - if dcl.BoolCanonicalize(des.MutationEnabled, nw.MutationEnabled) { - nw.MutationEnabled = des.MutationEnabled - } - nw.PolicyControllerMonitoring = canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, des.PolicyControllerMonitoring, nw.PolicyControllerMonitoring) if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, nw.TemplateLibraryInstalled) { nw.TemplateLibraryInstalled = des.TemplateLibraryInstalled } @@ -918,118 +900,6 @@ func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerSlice(c *Cl return items } -func canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(des, initial *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if des == nil { - return initial - } - if des.empty { - return des - } - - if initial == nil { - return des - } - - cDes := &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - - if dcl.IsZeroValue(des.Backends) || (dcl.IsEmptyValueIndirect(des.Backends) && dcl.IsEmptyValueIndirect(initial.Backends)) { - // Desired and initial values are equivalent, so set canonical desired value to initial value. - cDes.Backends = initial.Backends - } else { - cDes.Backends = des.Backends - } - - return cDes -} - -func canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(des, initial []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if dcl.IsEmptyValueIndirect(des) { - return initial - } - - if len(des) != len(initial) { - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(des)) - for _, d := range des { - cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(&d, nil, opts...) - if cd != nil { - items = append(items, *cd) - } - } - return items - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(des)) - for i, d := range des { - cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(&d, &initial[i], opts...) - if cd != nil { - items = append(items, *cd) - } - } - return items - -} - -func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, des, nw *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - - if des == nil { - return nw - } - - if nw == nil { - if dcl.IsNotReturnedByServer(des) { - c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring while comparing non-nil desired to nil actual. Returning desired object.") - return des - } - return nil - } - - return nw -} - -func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSet(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - if des == nil { - return nw - } - var reorderedNew []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - for _, d := range des { - matchedNew := -1 - for idx, n := range nw { - if diffs, _ := compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle(&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 canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - 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 []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - for i, d := range des { - n := nw[i] - items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &d, &n)) - } - - return items -} - func canonicalizeFeatureMembershipConfigmanagementBinauthz(des, initial *FeatureMembershipConfigmanagementBinauthz, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementBinauthz { if des == nil { return initial @@ -1557,20 +1427,6 @@ func compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(d, a inter diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MutationEnabled, actual.MutationEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MutationEnabled")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.PolicyControllerMonitoring, actual.PolicyControllerMonitoring, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyControllerMonitoring")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - if ds, err := dcl.Diff(desired.TemplateLibraryInstalled, actual.TemplateLibraryInstalled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TemplateLibraryInstalled")); len(ds) != 0 || err != nil { if err != nil { return nil, err @@ -1587,35 +1443,6 @@ func compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(d, a inter return diffs, nil } -func compareFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - - desired, ok := d.(*FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring or *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - actualNotPointer, ok := a.(FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - if !ok { - return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", a) - } - actual = &actualNotPointer - } - - if ds, err := dcl.Diff(desired.Backends, actual.Backends, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Backends")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - return diffs, nil -} - func compareFeatureMembershipConfigmanagementBinauthzNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff @@ -2305,14 +2132,6 @@ func expandFeatureMembershipConfigmanagementPolicyController(c *Client, f *Featu if v := f.LogDeniesEnabled; !dcl.IsEmptyValueIndirect(v) { m["logDeniesEnabled"] = v } - if v := f.MutationEnabled; !dcl.IsEmptyValueIndirect(v) { - m["mutationEnabled"] = v - } - if v, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, f.PolicyControllerMonitoring, res); err != nil { - return nil, fmt.Errorf("error expanding PolicyControllerMonitoring into policyControllerMonitoring: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["policyControllerMonitoring"] = v - } if v := f.TemplateLibraryInstalled; !dcl.IsEmptyValueIndirect(v) { m["templateLibraryInstalled"] = v } @@ -2340,128 +2159,12 @@ func flattenFeatureMembershipConfigmanagementPolicyController(c *Client, i inter r.ExemptableNamespaces = dcl.FlattenStringSlice(m["exemptableNamespaces"]) r.ReferentialRulesEnabled = dcl.FlattenBool(m["referentialRulesEnabled"]) r.LogDeniesEnabled = dcl.FlattenBool(m["logDeniesEnabled"]) - r.MutationEnabled = dcl.FlattenBool(m["mutationEnabled"]) - r.PolicyControllerMonitoring = flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, m["policyControllerMonitoring"], res) r.TemplateLibraryInstalled = dcl.FlattenBool(m["templateLibraryInstalled"]) r.AuditIntervalSeconds = dcl.FlattenString(m["auditIntervalSeconds"]) return r } -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap expands the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap(c *Client, f map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) { - if f == nil { - return nil, nil - } - - items := make(map[string]interface{}) - for k, item := range f { - i, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &item, res) - if err != nil { - return nil, err - } - if i != nil { - items[k] = i - } - } - - return items, nil -} - -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice expands the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, f []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) ([]map[string]interface{}, error) { - if f == nil { - return nil, nil - } - - items := []map[string]interface{}{} - for _, item := range f { - i, err := expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, &item, res) - if err != nil { - return nil, err - } - - items = append(items, i) - } - - return items, nil -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - if len(a) == 0 { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) - for k, item := range a { - items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, item.(map[string]interface{}), res) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - a, ok := i.([]interface{}) - if !ok { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - if len(a) == 0 { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, 0, len(a)) - for _, item := range a { - items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c, item.(map[string]interface{}), res)) - } - - return items -} - -// expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring expands an instance of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring into a JSON -// request object. -func expandFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, f *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) { - if dcl.IsEmptyValueIndirect(f) { - return nil, nil - } - - m := make(map[string]interface{}) - if v := f.Backends; v != nil { - m["backends"] = v - } - - return m, nil -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring flattens an instance of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - m, ok := i.(map[string]interface{}) - if !ok { - return nil - } - - r := &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - - if dcl.IsEmptyValueIndirect(i) { - return EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring - } - r.Backends = flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice(c, m["backends"], res) - - return r -} - // expandFeatureMembershipConfigmanagementBinauthzMap expands the contents of FeatureMembershipConfigmanagementBinauthz into a JSON // request object. func expandFeatureMembershipConfigmanagementBinauthzMap(c *Client, f map[string]FeatureMembershipConfigmanagementBinauthz, res *FeatureMembership) (map[string]interface{}, error) { @@ -2698,57 +2401,6 @@ func flattenFeatureMembershipConfigmanagementHierarchyController(c *Client, i in return r } -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - if len(a) == 0 { - return map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum) - for k, item := range a { - items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(item.(interface{})) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum from a JSON -// response object. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - a, ok := i.([]interface{}) - if !ok { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - if len(a) == 0 { - return []FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum{} - } - - items := make([]FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum, 0, len(a)) - for _, item := range a { - items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(item.(interface{}))) - } - - return items -} - -// flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum asserts that an interface is a string, and returns a -// pointer to a *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum with the same value as that string. -func flattenFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(i interface{}) *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum { - s, ok := i.(string) - if !ok { - return nil - } - - return FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnumRef(s) -} - // This function returns a matcher that checks whether a serialized resource matches this resource // in its parameters (as defined by the fields in a Get, which definitionally define resource // identity). This is useful in extracting the element from a List call. @@ -2919,20 +2571,6 @@ func extractFeatureMembershipConfigmanagementConfigSyncGitFields(r *FeatureMembe return nil } func extractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error { - vPolicyControllerMonitoring := o.PolicyControllerMonitoring - if vPolicyControllerMonitoring == nil { - // note: explicitly not the empty object. - vPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - if err := extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r, vPolicyControllerMonitoring); err != nil { - return err - } - if !dcl.IsNotReturnedByServer(vPolicyControllerMonitoring) { - o.PolicyControllerMonitoring = vPolicyControllerMonitoring - } - return nil -} -func extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) error { return nil } func extractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error { @@ -3021,20 +2659,6 @@ func postReadExtractFeatureMembershipConfigmanagementConfigSyncGitFields(r *Feat return nil } func postReadExtractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error { - vPolicyControllerMonitoring := o.PolicyControllerMonitoring - if vPolicyControllerMonitoring == nil { - // note: explicitly not the empty object. - vPolicyControllerMonitoring = &FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - } - if err := extractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r, vPolicyControllerMonitoring); err != nil { - return err - } - if !dcl.IsNotReturnedByServer(vPolicyControllerMonitoring) { - o.PolicyControllerMonitoring = vPolicyControllerMonitoring - } - return nil -} -func postReadExtractFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring) error { return nil } func postReadExtractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error { diff --git a/services/google/gkehub/beta/feature_membership_schema.go b/services/google/gkehub/beta/feature_membership_schema.go index bbb9c26db8..c3b1f87801 100755 --- a/services/google/gkehub/beta/feature_membership_schema.go +++ b/services/google/gkehub/beta/feature_membership_schema.go @@ -273,34 +273,6 @@ func DCLFeatureMembershipSchema() *dcl.Schema { GoName: "LogDeniesEnabled", Description: "Logs all denies and dry run failures.", }, - "mutationEnabled": &dcl.Property{ - Type: "boolean", - GoName: "MutationEnabled", - Description: "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", - }, - "policyControllerMonitoring": &dcl.Property{ - Type: "object", - GoName: "PolicyControllerMonitoring", - GoType: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring", - Description: "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", - Properties: map[string]*dcl.Property{ - "backends": &dcl.Property{ - Type: "array", - GoName: "Backends", - SendEmpty: true, - ListType: "list", - Items: &dcl.Property{ - Type: "string", - GoType: "FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum", - Enum: []string{ - "MONITORING_BACKEND_UNSPECIFIED", - "PROMETHEUS", - "CLOUD_MONITORING", - }, - }, - }, - }, - }, "referentialRulesEnabled": &dcl.Property{ Type: "boolean", GoName: "ReferentialRulesEnabled", diff --git a/services/google/gkehub/samples/acm.feature_membership.json b/services/google/gkehub/samples/acm.feature_membership.json index 0b969c7e91..3461be411d 100755 --- a/services/google/gkehub/samples/acm.feature_membership.json +++ b/services/google/gkehub/samples/acm.feature_membership.json @@ -23,10 +23,6 @@ "exemptableNamespaces": ["sample-namespace"], "referentialRulesEnabled": true, "logDeniesEnabled": true, - "mutationEnabled": true, - "policyControllerMonitoring": { - "backends": ["PROMETHEUS", "CLOUD_MONITORING"] - }, "templateLibraryInstalled": true, "auditIntervalSeconds": "10" }, diff --git a/services/google/gkehub/samples/acm_feature_membership.yaml b/services/google/gkehub/samples/acm_feature_membership.yaml index 6409d37c03..89f25ef57b 100755 --- a/services/google/gkehub/samples/acm_feature_membership.yaml +++ b/services/google/gkehub/samples/acm_feature_membership.yaml @@ -44,18 +44,6 @@ updates: - samples/container.serviceusage.service.json - samples/basic.cloudbilling.project_billing_info.json - samples/basic.cloudresourcemanager.project.json -- resource: samples/update_3_acm.feature_membership.json - dependencies: - - samples/acm.feature.json - - samples/first.membership.json - - samples/first.container.cluster.json - - samples/first.iam.service_account.json - - samples/second.iam.service_account.json - - samples/anthosconfigmanagement.serviceusage.service.json - - samples/gkehub.serviceusage.service.json - - samples/container.serviceusage.service.json - - samples/basic.cloudbilling.project_billing_info.json - - samples/basic.cloudresourcemanager.project.json variables: - name: billing_account type: billing_account diff --git a/services/google/gkehub/samples/update_1_acm.feature_membership.json b/services/google/gkehub/samples/update_1_acm.feature_membership.json index 2d93f79307..bfb88dbdc7 100755 --- a/services/google/gkehub/samples/update_1_acm.feature_membership.json +++ b/services/google/gkehub/samples/update_1_acm.feature_membership.json @@ -24,11 +24,7 @@ "referentialRulesEnabled": false, "logDeniesEnabled": false, "templateLibraryInstalled": false, - "auditIntervalSeconds": "9", - "mutationEnabled": false, - "policyControllerMonitoring": { - "backends": ["PROMETHEUS"] - } + "auditIntervalSeconds": "9" }, "binauthz": { "enabled": false diff --git a/unstructured/google/gkehub/alpha/feature_membership.go b/unstructured/google/gkehub/alpha/feature_membership.go index e0f9ab53e4..c6c9b2a52b 100755 --- a/unstructured/google/gkehub/alpha/feature_membership.go +++ b/unstructured/google/gkehub/alpha/feature_membership.go @@ -108,18 +108,6 @@ func FeatureMembershipToUnstructured(r *dclService.FeatureMembership) *unstructu if r.Configmanagement.PolicyController.LogDeniesEnabled != nil { rConfigmanagementPolicyController["logDeniesEnabled"] = *r.Configmanagement.PolicyController.LogDeniesEnabled } - if r.Configmanagement.PolicyController.MutationEnabled != nil { - rConfigmanagementPolicyController["mutationEnabled"] = *r.Configmanagement.PolicyController.MutationEnabled - } - if r.Configmanagement.PolicyController.PolicyControllerMonitoring != nil && r.Configmanagement.PolicyController.PolicyControllerMonitoring != dclService.EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - rConfigmanagementPolicyControllerPolicyControllerMonitoring := make(map[string]interface{}) - var rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends []interface{} - for _, rConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsVal := range r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends { - rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends = append(rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends, string(rConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsVal)) - } - rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"] = rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends - rConfigmanagementPolicyController["policyControllerMonitoring"] = rConfigmanagementPolicyControllerPolicyControllerMonitoring - } if r.Configmanagement.PolicyController.ReferentialRulesEnabled != nil { rConfigmanagementPolicyController["referentialRulesEnabled"] = *r.Configmanagement.PolicyController.ReferentialRulesEnabled } @@ -314,31 +302,6 @@ func UnstructuredToFeatureMembership(u *unstructured.Resource) (*dclService.Feat return nil, fmt.Errorf("r.Configmanagement.PolicyController.LogDeniesEnabled: expected bool") } } - if _, ok := rConfigmanagementPolicyController["mutationEnabled"]; ok { - if b, ok := rConfigmanagementPolicyController["mutationEnabled"].(bool); ok { - r.Configmanagement.PolicyController.MutationEnabled = dcl.Bool(b) - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.MutationEnabled: expected bool") - } - } - if _, ok := rConfigmanagementPolicyController["policyControllerMonitoring"]; ok { - if rConfigmanagementPolicyControllerPolicyControllerMonitoring, ok := rConfigmanagementPolicyController["policyControllerMonitoring"].(map[string]interface{}); ok { - r.Configmanagement.PolicyController.PolicyControllerMonitoring = &dclService.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - if _, ok := rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"]; ok { - if s, ok := rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"].([]interface{}); ok { - for _, ss := range s { - if strval, ok := ss.(string); ok { - r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends = append(r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends, dclService.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(strval)) - } - } - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends: expected []interface{}") - } - } - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.PolicyControllerMonitoring: expected map[string]interface{}") - } - } if _, ok := rConfigmanagementPolicyController["referentialRulesEnabled"]; ok { if b, ok := rConfigmanagementPolicyController["referentialRulesEnabled"].(bool); ok { r.Configmanagement.PolicyController.ReferentialRulesEnabled = dcl.Bool(b) diff --git a/unstructured/google/gkehub/beta/feature_membership.go b/unstructured/google/gkehub/beta/feature_membership.go index 155f331a13..3db39ce60a 100755 --- a/unstructured/google/gkehub/beta/feature_membership.go +++ b/unstructured/google/gkehub/beta/feature_membership.go @@ -108,18 +108,6 @@ func FeatureMembershipToUnstructured(r *dclService.FeatureMembership) *unstructu if r.Configmanagement.PolicyController.LogDeniesEnabled != nil { rConfigmanagementPolicyController["logDeniesEnabled"] = *r.Configmanagement.PolicyController.LogDeniesEnabled } - if r.Configmanagement.PolicyController.MutationEnabled != nil { - rConfigmanagementPolicyController["mutationEnabled"] = *r.Configmanagement.PolicyController.MutationEnabled - } - if r.Configmanagement.PolicyController.PolicyControllerMonitoring != nil && r.Configmanagement.PolicyController.PolicyControllerMonitoring != dclService.EmptyFeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring { - rConfigmanagementPolicyControllerPolicyControllerMonitoring := make(map[string]interface{}) - var rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends []interface{} - for _, rConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsVal := range r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends { - rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends = append(rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends, string(rConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsVal)) - } - rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"] = rConfigmanagementPolicyControllerPolicyControllerMonitoringBackends - rConfigmanagementPolicyController["policyControllerMonitoring"] = rConfigmanagementPolicyControllerPolicyControllerMonitoring - } if r.Configmanagement.PolicyController.ReferentialRulesEnabled != nil { rConfigmanagementPolicyController["referentialRulesEnabled"] = *r.Configmanagement.PolicyController.ReferentialRulesEnabled } @@ -314,31 +302,6 @@ func UnstructuredToFeatureMembership(u *unstructured.Resource) (*dclService.Feat return nil, fmt.Errorf("r.Configmanagement.PolicyController.LogDeniesEnabled: expected bool") } } - if _, ok := rConfigmanagementPolicyController["mutationEnabled"]; ok { - if b, ok := rConfigmanagementPolicyController["mutationEnabled"].(bool); ok { - r.Configmanagement.PolicyController.MutationEnabled = dcl.Bool(b) - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.MutationEnabled: expected bool") - } - } - if _, ok := rConfigmanagementPolicyController["policyControllerMonitoring"]; ok { - if rConfigmanagementPolicyControllerPolicyControllerMonitoring, ok := rConfigmanagementPolicyController["policyControllerMonitoring"].(map[string]interface{}); ok { - r.Configmanagement.PolicyController.PolicyControllerMonitoring = &dclService.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoring{} - if _, ok := rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"]; ok { - if s, ok := rConfigmanagementPolicyControllerPolicyControllerMonitoring["backends"].([]interface{}); ok { - for _, ss := range s { - if strval, ok := ss.(string); ok { - r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends = append(r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends, dclService.FeatureMembershipConfigmanagementPolicyControllerPolicyControllerMonitoringBackendsEnum(strval)) - } - } - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.PolicyControllerMonitoring.Backends: expected []interface{}") - } - } - } else { - return nil, fmt.Errorf("r.Configmanagement.PolicyController.PolicyControllerMonitoring: expected map[string]interface{}") - } - } if _, ok := rConfigmanagementPolicyController["referentialRulesEnabled"]; ok { if b, ok := rConfigmanagementPolicyController["referentialRulesEnabled"].(bool); ok { r.Configmanagement.PolicyController.ReferentialRulesEnabled = dcl.Bool(b)