Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

Add remaining fields within deidentify_config.record_transformations.field_transformations field of google_data_loss_prevention_deidentify_template resource #1291

Conversation

modular-magician
Copy link
Contributor

Part of hashicorp/terraform-provider-google#9836

This PR updates the google_data_loss_prevention_deidentify_template resource by adding multiple fields related to data transformations, underneath this parent field (deidentify_template.record_transformations.field_transformations.primitive_transformation - link to API docs)

These subfields are added:

  • crypto_replace_ffx_fpe_config
  • fixed_size_bucketing_config
  • bucketing_config
  • replace_with_info_type_config
  • time_part_config
  • crypto_hash_config
  • date_shift_config
  • crypto_deterministic_config
  • replace_dictionary_config

It does not include replace_with_info_type_config because this results in an error that the documentation doesn't hint at:

Error 400: replace_with_info_type_config is not valid as a primitive_transformations. It is only compati
ble with info_type_transformations.


If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Generated Terraform, and ran make test and make lint to ensure it passes unit and linter tests.
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Ran relevant acceptance tests (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read the Release Notes Guide before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

dlp: Added all subfields under `deidentify_template.record_transformations.field_transformations.primitive_transformation` to `google_data_loss_prevention_deidentify_template`

Derived from GoogleCloudPlatform/magic-modules#6886

….field_transformations` field of `google_data_loss_prevention_deidentify_template` resource (#6886)

* Add `cryptoReplaceFfxFpeConfig` field, copy-pasted from elsewhere in file

* Add `fixedSizeBucketingConfig` field

Properties are copy pasted from other instance of `Values` type field - https://cloud.google.com/dlp/docs/reference/rest/v2/Value

* Add `bucketingConfig` field

Properties are copy pasted from other instance of `Values` type field - https://cloud.google.com/dlp/docs/reference/rest/v2/Value

* Add `replaceWithInfoTypeConfig` field

Empty object with no properties - similar to redactConfig

* Add `timePartConfig` field

* Add `cryptoHashConfig` field

cryptoKey field copy/pasted from elsewhere in the yaml, as it uses the reused CryptoKey object (https://cloud.google.com/dlp/docs/reference/rest/v2/projects.deidentifyTemplates#DeidentifyTemplate.CryptoKey)

* Add `dateShiftConfig` field

Some fields copy/pasted from elsewhere in the yaml, as they use reused objects

* Add `cryptoDeterministicConfig` field

* Add `replaceDictionaryConfig` field

* Fix `item type` property for `replaceDictionaryConfig` field

* Add test for `cryptoReplaceFfxFpeConfig` field

* Update docs- field names, issue link etc

* Fix `crypto_replace_ffx_fpe_config` example in acc test

* Update descriptions within `fixed_size_bucketing_config` and `bucketing_config`

Better explanation of mutually exclusive values, better bucketing_config description

* Add `fixed_size_bucketing_config` to acceptance tests

* Add `bucketing_config` to acceptance tests

* Remove `replace_with_info_type_config` field

* Add `time_part_config` to acceptance tests

* Add `crypto_hash_config` and `date_shift_config` to acc tests

* Add `crypto_deterministic_config` to acceptance tests

* Add `replace_dictionary_config` to acceptance tests

* Update docs for `bucketing_config` fields

* Update DeidentifyTemplate acc tests to use bootstrapped, global KMS keys

* Add missing `version` fields under `surrogateInfoType` fields, update acc tests

* Update descriptions for transient/wrapped/unwrapped crypto keys

Signed-off-by: Modular Magician <[email protected]>
@modular-magician modular-magician requested a review from a team as a code owner January 16, 2023 11:11
@modular-magician modular-magician requested review from roaks3 and removed request for a team January 16, 2023 11:11
@modular-magician modular-magician merged commit 8b5775c into GoogleCloudPlatform:main Jan 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant