diff --git a/mmv1/products/parametermanager/ParameterVersion.yaml b/mmv1/products/parametermanager/ParameterVersion.yaml index e2bdf7983521..8f2b5e296cf9 100644 --- a/mmv1/products/parametermanager/ParameterVersion.yaml +++ b/mmv1/products/parametermanager/ParameterVersion.yaml @@ -103,6 +103,16 @@ samples: data: '"./test-fixtures/parameter_data_yaml_format.yaml"' # for backward compatible parameter_id: '"parameter" + randomSuffix' + - name: parameter_version_with_data_crc32c + primary_resource_id: parameter-version-with-data-crc32c + steps: + - name: parameter_version_with_data_crc32c + resource_id_vars: + parameter_id: parameter + parameter_version_id: parameter_version + test_vars_overrides: + # for backward compatible + parameter_id: '"parameter" + randomSuffix' parameters: - name: parameter type: ResourceRef @@ -159,6 +169,12 @@ properties: immutable: true sensitive: true custom_expand: templates/terraform/custom_expand/base64.go.tmpl + - name: dataCrc32c + type: String + description: | + The integrity checksum of the payload. + immutable: true + default_from_api: true - name: kmsKeyVersion type: String output: true diff --git a/mmv1/products/parametermanagerregional/RegionalParameterVersion.yaml b/mmv1/products/parametermanagerregional/RegionalParameterVersion.yaml index 7d0e02289c2f..df692775937e 100644 --- a/mmv1/products/parametermanagerregional/RegionalParameterVersion.yaml +++ b/mmv1/products/parametermanagerregional/RegionalParameterVersion.yaml @@ -91,6 +91,13 @@ samples: data: regional-parameter-yaml-data.yaml test_vars_overrides: data: '"./test-fixtures/regional_parameter_data_yaml_format.yaml"' + - name: regional_parameter_version_with_data_crc32c + primary_resource_id: regional-parameter-version-with-data-crc32c + steps: + - name: regional_parameter_version_with_data_crc32c + resource_id_vars: + parameter_id: regional_parameter + parameter_version_id: regional_parameter_version parameters: - name: parameter type: ResourceRef @@ -153,6 +160,12 @@ properties: immutable: true sensitive: true custom_expand: templates/terraform/custom_expand/base64.go.tmpl + - name: dataCrc32c + type: String + description: | + The integrity checksum of the payload. + immutable: true + default_from_api: true - name: kmsKeyVersion type: String output: true diff --git a/mmv1/templates/terraform/custom_flatten/parameter_version_parameter_data.go.tmpl b/mmv1/templates/terraform/custom_flatten/parameter_version_parameter_data.go.tmpl index 4b4687cc41be..aa80718e5d14 100644 --- a/mmv1/templates/terraform/custom_flatten/parameter_version_parameter_data.go.tmpl +++ b/mmv1/templates/terraform/custom_flatten/parameter_version_parameter_data.go.tmpl @@ -24,5 +24,8 @@ func flatten{{$.GetPrefix}}{{$.TitlelizeProperty}}(v interface{}, d *schema.Reso return err } transformed["parameter_data"] = string(data) + if val, ok := original["dataCrc32c"]; ok && val != nil { + transformed["data_crc32c"] = fmt.Sprintf("%v", val) + } return []interface{}{transformed} } diff --git a/mmv1/templates/terraform/samples/services/parametermanager/parameter_version_with_data_crc32c.tf.tmpl b/mmv1/templates/terraform/samples/services/parametermanager/parameter_version_with_data_crc32c.tf.tmpl new file mode 100644 index 000000000000..0246f19ec16e --- /dev/null +++ b/mmv1/templates/terraform/samples/services/parametermanager/parameter_version_with_data_crc32c.tf.tmpl @@ -0,0 +1,10 @@ +resource "google_parameter_manager_parameter" "parameter-basic" { + parameter_id = "{{index $.ResourceIdVars "parameter_id"}}" +} + +resource "google_parameter_manager_parameter_version" "{{$.PrimaryResourceId}}" { + parameter = google_parameter_manager_parameter.parameter-basic.id + parameter_version_id = "{{index $.ResourceIdVars "parameter_version_id"}}" + parameter_data = "app-parameter-version-data" + data_crc32c = "3931523681" +} diff --git a/mmv1/templates/terraform/samples/services/parametermanagerregional/regional_parameter_version_with_data_crc32c.tf.tmpl b/mmv1/templates/terraform/samples/services/parametermanagerregional/regional_parameter_version_with_data_crc32c.tf.tmpl new file mode 100644 index 000000000000..c6ff7876cf41 --- /dev/null +++ b/mmv1/templates/terraform/samples/services/parametermanagerregional/regional_parameter_version_with_data_crc32c.tf.tmpl @@ -0,0 +1,11 @@ +resource "google_parameter_manager_regional_parameter" "regional-parameter-basic" { + parameter_id = "{{index $.ResourceIdVars "parameter_id"}}" + location = "us-central1" +} + +resource "google_parameter_manager_regional_parameter_version" "{{$.PrimaryResourceId}}" { + parameter = google_parameter_manager_regional_parameter.regional-parameter-basic.id + parameter_version_id = "{{index $.ResourceIdVars "parameter_version_id"}}" + parameter_data = "regional-parameter-version-data" + data_crc32c = "4019737965" +} diff --git a/mmv1/third_party/terraform/services/parametermanager/resource_parameter_manager_parameter_version_test.go b/mmv1/third_party/terraform/services/parametermanager/resource_parameter_manager_parameter_version_test.go index 26dedfac0f7d..aa125c1ba73b 100644 --- a/mmv1/third_party/terraform/services/parametermanager/resource_parameter_manager_parameter_version_test.go +++ b/mmv1/third_party/terraform/services/parametermanager/resource_parameter_manager_parameter_version_test.go @@ -22,6 +22,9 @@ func TestAccParameterManagerParameterVersion_update(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccParameterManagerParameterVersion_basic(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_parameter_version.parameter-version-update", "data_crc32c", "1083866889"), + ), }, { ResourceName: "google_parameter_manager_parameter_version.parameter-version-update", @@ -31,15 +34,21 @@ func TestAccParameterManagerParameterVersion_update(t *testing.T) { }, { Config: testAccParameterManagerParameterVersion_update(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_parameter_version.parameter-version-update", "data_crc32c", "1083866889"), + ), }, { ResourceName: "google_parameter_manager_parameter_version.parameter-version-update", ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id"}, + ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id", "data_crc32c"}, }, { Config: testAccParameterManagerParameterVersion_basic(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_parameter_version.parameter-version-update", "data_crc32c", "1083866889"), + ), }, { ResourceName: "google_parameter_manager_parameter_version.parameter-version-update", @@ -51,6 +60,34 @@ func TestAccParameterManagerParameterVersion_update(t *testing.T) { }) } +func TestAccParameterManagerParameterVersion_dataCrc32c(t *testing.T) { + t.Parallel() + + context := map[string]interface{}{ + "random_suffix": acctest.RandString(t, 10), + } + + acctest.VcrTest(t, resource.TestCase{ + PreCheck: func() { acctest.AccTestPreCheck(t) }, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t), + CheckDestroy: testAccCheckParameterManagerParameterVersionDestroyProducer(t), + Steps: []resource.TestStep{ + { + Config: testAccParameterManagerParameterVersion_dataCrc32c(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_parameter_version.parameter-version-crc32c", "data_crc32c", "1083866889"), + ), + }, + { + ResourceName: "google_parameter_manager_parameter_version.parameter-version-crc32c", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id"}, + }, + }, + }) +} + func testAccParameterManagerParameterVersion_basic(context map[string]interface{}) string { return acctest.Nprintf(` resource "google_parameter_manager_parameter" "parameter-update" { @@ -79,3 +116,18 @@ resource "google_parameter_manager_parameter_version" "parameter-version-update" } `, context) } + +func testAccParameterManagerParameterVersion_dataCrc32c(context map[string]interface{}) string { + return acctest.Nprintf(` +resource "google_parameter_manager_parameter" "parameter-crc32c" { + parameter_id = "tf_test_parameter%{random_suffix}" +} + +resource "google_parameter_manager_parameter_version" "parameter-version-crc32c" { + parameter = google_parameter_manager_parameter.parameter-crc32c.id + parameter_version_id = "tf_test_parameter_version%{random_suffix}" + parameter_data = "parameter-version-data" + data_crc32c = "1083866889" +} +`, context) +} diff --git a/mmv1/third_party/terraform/services/parametermanagerregional/resource_parameter_manager_regional_parameter_version_test.go b/mmv1/third_party/terraform/services/parametermanagerregional/resource_parameter_manager_regional_parameter_version_test.go index 15ed6234256e..07c902829692 100644 --- a/mmv1/third_party/terraform/services/parametermanagerregional/resource_parameter_manager_regional_parameter_version_test.go +++ b/mmv1/third_party/terraform/services/parametermanagerregional/resource_parameter_manager_regional_parameter_version_test.go @@ -22,6 +22,9 @@ func TestAccParameterManagerRegionalRegionalParameterVersion_update(t *testing.T Steps: []resource.TestStep{ { Config: testAccParameterManagerRegionalRegionalParameterVersion_basic(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_regional_parameter_version.regional-parameter-version-update", "data_crc32c", "4019737965"), + ), }, { ResourceName: "google_parameter_manager_regional_parameter_version.regional-parameter-version-update", @@ -31,15 +34,21 @@ func TestAccParameterManagerRegionalRegionalParameterVersion_update(t *testing.T }, { Config: testAccParameterManagerRegionalRegionalParameterVersion_update(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_regional_parameter_version.regional-parameter-version-update", "data_crc32c", "4019737965"), + ), }, { ResourceName: "google_parameter_manager_regional_parameter_version.regional-parameter-version-update", ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id"}, + ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id", "data_crc32c"}, }, { Config: testAccParameterManagerRegionalRegionalParameterVersion_basic(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_regional_parameter_version.regional-parameter-version-update", "data_crc32c", "4019737965"), + ), }, { ResourceName: "google_parameter_manager_regional_parameter_version.regional-parameter-version-update", @@ -51,6 +60,34 @@ func TestAccParameterManagerRegionalRegionalParameterVersion_update(t *testing.T }) } +func TestAccParameterManagerRegionalRegionalParameterVersion_dataCrc32c(t *testing.T) { + t.Parallel() + + context := map[string]interface{}{ + "random_suffix": acctest.RandString(t, 10), + } + + acctest.VcrTest(t, resource.TestCase{ + PreCheck: func() { acctest.AccTestPreCheck(t) }, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t), + CheckDestroy: testAccCheckParameterManagerRegionalRegionalParameterVersionDestroyProducer(t), + Steps: []resource.TestStep{ + { + Config: testAccParameterManagerRegionalRegionalParameterVersion_dataCrc32c(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_parameter_manager_regional_parameter_version.regional-parameter-version-crc32c", "data_crc32c", "4019737965"), + ), + }, + { + ResourceName: "google_parameter_manager_regional_parameter_version.regional-parameter-version-crc32c", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"parameter", "parameter_version_id"}, + }, + }, + }) +} + func testAccParameterManagerRegionalRegionalParameterVersion_basic(context map[string]interface{}) string { return acctest.Nprintf(` resource "google_parameter_manager_regional_parameter" "regional-parameter-update" { @@ -81,3 +118,19 @@ resource "google_parameter_manager_regional_parameter_version" "regional-paramet } `, context) } + +func testAccParameterManagerRegionalRegionalParameterVersion_dataCrc32c(context map[string]interface{}) string { + return acctest.Nprintf(` +resource "google_parameter_manager_regional_parameter" "regional-parameter-crc32c" { + parameter_id = "tf_test_regional_parameter%{random_suffix}" + location = "us-central1" +} + +resource "google_parameter_manager_regional_parameter_version" "regional-parameter-version-crc32c" { + parameter = google_parameter_manager_regional_parameter.regional-parameter-crc32c.id + parameter_version_id = "tf_test_regional_parameter_version%{random_suffix}" + parameter_data = "regional-parameter-version-data" + data_crc32c = "4019737965" +} +`, context) +}