diff --git a/mmv1/products/secretmanager/SecretVersion.yaml b/mmv1/products/secretmanager/SecretVersion.yaml index 1d30b3c83acc..e689330b1b78 100644 --- a/mmv1/products/secretmanager/SecretVersion.yaml +++ b/mmv1/products/secretmanager/SecretVersion.yaml @@ -34,7 +34,7 @@ create_url: '{{secret}}:addVersion' delete_url: '{{name}}:destroy' delete_verb: 'POST' import_format: - - 'projects/{{%project}}/secrets/{{%secret_id}}/versions/{{%version}}' + - 'projects/{{%project}}/secrets/{{%secret}}/versions/{{%version}}' timeouts: insert_minutes: 20 update_minutes: 20 @@ -52,8 +52,6 @@ custom_code: constants: 'templates/terraform/constants/secret_version.go.tmpl' # Sweeper skipped as this resource has customized deletion. exclude_sweeper: true -# exluding resource_identity due to custom_import -exclude_identity_generation: true deletion_policy_custom_docs: true samples: - name: 'secret_version_basic' diff --git a/mmv1/templates/terraform/custom_import/secret_version.go.tmpl b/mmv1/templates/terraform/custom_import/secret_version.go.tmpl index 0c5ab7aee59f..f3954c709596 100644 --- a/mmv1/templates/terraform/custom_import/secret_version.go.tmpl +++ b/mmv1/templates/terraform/custom_import/secret_version.go.tmpl @@ -1,11 +1,10 @@ config := meta.(*transport_tpg.Config) + _ = config - // current import_formats can't import fields with forward slashes in their value - if err := tpgresource.ParseImportId([]string{"(?P.+)"}, d, config); err != nil { - return nil, err + name := d.Id() + if err := d.Set("name", name); err != nil { + return nil, fmt.Errorf("Error setting name: %s", err) } - - name := d.Get("name").(string) secretRegex := regexp.MustCompile("(projects/.+/secrets/.+)/versions/.+$") versionRegex := regexp.MustCompile("projects/(.+)/secrets/(.+)/versions/(.+)$") @@ -28,4 +27,12 @@ return nil, fmt.Errorf("Error setting version: %s", err) } + if err := tpgresource.SetResourceIdentityAttributes(d, map[string]interface{}{ + "project": parts[1], + "secret": parts[2], + "version": parts[3], + }); err != nil { + return nil, err + } + return []*schema.ResourceData{d}, nil