class Google::Apis::DlpV2::GooglePrivacyDlpV2PrimitiveTransformation

A rule for transforming a value.

Attributes

bucketing_config[RW]

Generalization function that buckets values based on ranges. The ranges and replacement values are dynamically provided by the user for custom behavior, such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH This can be used on data of type: number, long, string, timestamp. If the bound `Value` type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See cloud.google.com/dlp/docs/concepts-bucketing to learn more. Corresponds to the JSON property `bucketingConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BucketingConfig]

character_mask_config[RW]

Partially mask a string by replacing a given number of characters with a fixed character. Masking can start from the beginning or end of the string. This can be used on data of any type (numbers, longs, and so on) and when de- identifying structured data we'll attempt to preserve the original data's type. (This allows you to take a long like 123 and modify it to a string like **3. Corresponds to the JSON property `characterMaskConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2CharacterMaskConfig]

crypto_deterministic_config[RW]

Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC tools.ietf.org/html/rfc5297. Corresponds to the JSON property `cryptoDeterministicConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2CryptoDeterministicConfig]

crypto_hash_config[RW]

Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. The key size must be either 32 or 64 bytes. Outputs a base64 encoded representation of the hashed output (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). Currently, only string and integer values can be hashed. See cloud.google.com/dlp/docs/ pseudonymization to learn more. Corresponds to the JSON property `cryptoHashConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2CryptoHashConfig]

crypto_replace_ffx_fpe_config[RW]

Replaces an identifier with a surrogate using Format Preserving Encryption ( FPE) with the FFX mode of operation; however when used in the ` ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. Corresponds to the JSON property `cryptoReplaceFfxFpeConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2CryptoReplaceFfxFpeConfig]

date_shift_config[RW]

Shifts dates by random number of days, with option to be consistent for the same context. See cloud.google.com/dlp/docs/concepts-date-shifting to learn more. Corresponds to the JSON property `dateShiftConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DateShiftConfig]

fixed_size_bucketing_config[RW]

Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of `lower_bound`- `upper_bound`. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with “10-20”. This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See cloud.google.com/dlp/docs/concepts-bucketing to learn more. Corresponds to the JSON property `fixedSizeBucketingConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2FixedSizeBucketingConfig]

redact_config[RW]

Redact a given value. For example, if used with an `InfoTypeTransformation` transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the output would be 'My phone number is '. Corresponds to the JSON property `redactConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2RedactConfig]

replace_config[RW]

Replace each input value with a given `Value`. Corresponds to the JSON property `replaceConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2ReplaceValueConfig]

replace_with_info_type_config[RW]

Replace each matching finding with the name of the info_type. Corresponds to the JSON property `replaceWithInfoTypeConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2ReplaceWithInfoTypeConfig]

time_part_config[RW]

For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a portion of the value. Corresponds to the JSON property `timePartConfig` @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TimePartConfig]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/dlp_v2/classes.rb, line 4597
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/dlp_v2/classes.rb, line 4602
def update!(**args)
  @bucketing_config = args[:bucketing_config] if args.key?(:bucketing_config)
  @character_mask_config = args[:character_mask_config] if args.key?(:character_mask_config)
  @crypto_deterministic_config = args[:crypto_deterministic_config] if args.key?(:crypto_deterministic_config)
  @crypto_hash_config = args[:crypto_hash_config] if args.key?(:crypto_hash_config)
  @crypto_replace_ffx_fpe_config = args[:crypto_replace_ffx_fpe_config] if args.key?(:crypto_replace_ffx_fpe_config)
  @date_shift_config = args[:date_shift_config] if args.key?(:date_shift_config)
  @fixed_size_bucketing_config = args[:fixed_size_bucketing_config] if args.key?(:fixed_size_bucketing_config)
  @redact_config = args[:redact_config] if args.key?(:redact_config)
  @replace_config = args[:replace_config] if args.key?(:replace_config)
  @replace_with_info_type_config = args[:replace_with_info_type_config] if args.key?(:replace_with_info_type_config)
  @time_part_config = args[:time_part_config] if args.key?(:time_part_config)
end