Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: terraform import snowflake_user_password_policy_attachment - Error: required id format 'user_name|password_policy_name' #3005

Closed
1 task
wpl-sf-nbirch opened this issue Aug 20, 2024 · 6 comments
Labels
bug Used to mark issues with provider's incorrect behavior docs Used to mark issues with documentation remark/questions

Comments

@wpl-sf-nbirch
Copy link

Terraform CLI Version

0.87.0

Terraform Provider Version

1.9.4

Terraform Configuration

terraform import snowflake_user_password_policy_attachment.bus_user_attach_90day_policy "DATA_GOVERNANCE|POLICY_MANAGEMENT|SERVICE_ACCOUNT_90_DAY_EXPIRY|SVC_BUSINESS_USER_CONFIDENTIAL"

Category

category:import

Object type(s)

resource:user_password_policy_attachment

Expected Behavior

snowflake_user_password_policy_attachment resource is imported into state

Actual Behavior

unable to import policy attachment

│ Error: required id format 'user_name|password_policy_name', but got: 'DATA_GOVERNANCE|POLICY_MANAGEMENT|SERVICE_ACCOUNT_90_DAY_EXPIRY|SVC_BUSINESS_USER_CONFIDENTIAL'

Steps to Reproduce

Using format provided in docs import a user_password_policy_attachement: Import

How much impact is this issue causing?

Medium

Logs

No response

Additional Information

https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/user_password_policy_attachment#import

Would you like to implement a fix?

  • Yeah, I'll take it 😎
@wpl-sf-nbirch wpl-sf-nbirch added the bug Used to mark issues with provider's incorrect behavior label Aug 20, 2024
@sfc-gh-asawicki sfc-gh-asawicki added docs Used to mark issues with documentation remark/questions and removed bug Used to mark issues with provider's incorrect behavior labels Aug 20, 2024
@sfc-gh-asawicki
Copy link
Collaborator

sfc-gh-asawicki commented Aug 20, 2024

Hey @wpl-sf-nbirch.

It seems that we did not alter the import documentation with #2485. Can you check if you can import with

terraform import snowflake_user_password_policy_attachment.bus_user_attach_90day_policy <user_name>|<fully_qualified_policy_name>"

?

@wpl-sf-nbirch
Copy link
Author

Tried that format also, and get a different error:

│ Error: sql: Scan error on column index 13, name "POLICY_STATUS": converting NULL to string is unsupported

@sfc-gh-asawicki sfc-gh-asawicki added the bug Used to mark issues with provider's incorrect behavior label Aug 20, 2024
@sfc-gh-asawicki
Copy link
Collaborator

Okay, this seems like an entirely different error; I will check it during the current user rework.

@sfc-gh-asawicki
Copy link
Collaborator

I finally got to this issue.

I can't reproduce it in the newest version of the provider or in v0.87.0. However, I see in the history that we introduced a change for policy reference handling in #2627, which was released in v0.88.0. Please try this one out.

sfc-gh-asawicki added a commit that referenced this issue Nov 7, 2024
sfc-gh-asawicki added a commit that referenced this issue Nov 8, 2024
Apply various fixes:
- Fix handling compute pool privileges (#2717)
- Fail to reproduce the problem with password policy user attachment
(#3005)
- Adapt user to BCR Bundle 2024_08 (#3125)
- Loosen identifier validations - parentheses (#3127) - check below
- Prove MANAGE SHARE TARGET works correctly (#3153)

On the identifier validation topic:
ParseIdentifierString should generally allow parentheses. It should
validate them for the identifiers for functions, procedures, etc.
Because of that:
- this validation was removed
- method usages were analyzed to check what consequences it has
throughout the provider
  - DecodeSnowflakeAccountIdentifier - OK, account level identifier
  - DecodeSnowflakeParameterID
- buildOptsForGrantsOn (grants datasource) - NOK, had to fix the logic
- ContainsIdentifierIgnoringQuotes - OK, transitively used only in
network policies
    - TestDecodeSnowflakeParameterID - OK
    - IsValidIdentifier - OK, used for other identifier types
- pkg/resource - OK, used in streams, table constraints and tag masking
policy associations
  - suppressIdentifierQuoting
- used in non-grant resources with non-argument identifier types - OK
- used in grant resources - OK, the validation will be relaxed for now,
diff suppression won't work correctly for the identifiers with
arguments, will be addressed with functions/procedures rework
(multi-field validation could be handled for such cases, issue added;
references:
hashicorp/terraform-plugin-sdk#354,
hashicorp/terraform-plugin-sdk#233)
- suppressIdentifierQuotingPartiallyQualifiedName - as above; currently
used only for streams
- parseIdentifier - used by other identifier types (type constraints
added)
- ParseObjectIdentifierString - OK, used for other identifier types
(ParseSchemaObjectIdentifierWithArguments is dedicated for identifier
with arguments)
- ParseSchemaObjectIdentifierWithArguments - OK, we split the input
string on first opening paren (so there are no other opening parens
there)
- Test_ParseIdentifierString - tests adjusted for the removed validation

Others:
- Remove unused privileges.go file
- Fix preview resources list for V1

References:
-
#2717
-
#3005
-
#3125
-
#3127
-
#3153
sfc-gh-jmichalak pushed a commit that referenced this issue Nov 8, 2024
##
[0.98.0](v0.97.0...v0.98.0)
(2024-11-08)

Feature scope readiness for V1:
[link](https://github.com/Snowflake-Labs/terraform-provider-snowflake/blob/main/v1-preparations/ESSENTIAL_GA_OBJECTS.MD)
([Roadmap
reference](https://github.com/Snowflake-Labs/terraform-provider-snowflake/blob/main/ROADMAP.md#wrap-up-the-functional-scope)).
:exclamation: Migration guide: [v0.97.0 ->
v0.98.0](https://github.com/Snowflake-Labs/terraform-provider-snowflake/blob/main/MIGRATION_GUIDE.md#v0970--v0980)

### 🎉 What's new
- New resources:
- authentication_policy
([#3098](#3098)),
references
[#2880](#2880)
- external_volume
([#3106](#3106)),
partially references
[#2980](#2980)
- stream_on_directory_table
([#3129](#3129))
- stream_on_view
([#3150](#3150))
- primary_connection, secondary_connection
([#3162](#3162))
- secret_with_basic_authentication, secret_with_generic_string,
secret_with_oauth_authorization_code_grant,
secret_with_oauth_client_credentials
([#3110](#3110)),
([#3141](#3141))
- New data sources:
- connections
([#3155](#3155)),
([#3173](#3173))
- secrets
([#3131](#3131))
- Reworked:
- provider configuration hierarchy
([#3166](#3166)),
references
[#1881](#1881),
[#2145](#2145),
[#2925](#2925),
[#2983](#2983),
[#3104](#3104)
- provider configuration fields
([#3152](#3152))
streams data source
([#3151](#3151))
- SDK upgrades:
- Upgrade tag SDK
([#3126](#3126))
- Recreate streams when they are stale
([#3129](#3129))
### 🔧  Misc
- Add object renaming research summary
([#3172](#3172))
- Test support for object renaming
([#3130](#3130)),
([#3147](#3147)),
([#3154](#3154))
- Add tests to issue
[#3117](#3117)
([#3133](#3133))
- New roadmap entry
([#3158](#3158))
- Test more authentication methods
([#3178](#3178))
- Minor fixes
([#3174](#3174))
### 🐛  Bug fixes
- Apply various fixes
([#3176](#3176)),
this addresses BCR 2024_08, references
[#2717](#2717),
[#3005](#3005),
[#3125](#3125),
[#3127](#3127),
[#3153](#3153)
- Connection and secret data sources tests
([#3177](#3177))
- Fix grant import docs
([#3183](#3183)),
resolves
[#3179](https://github.com/Snowflake-Labs/terraform-provider-snowflake/discussions/3179)
- Fix user resource import
([#3181](#3181))
- Handle external type changes in stream resources
([#3164](#3164))
- Do not use OR REPLACE on initial creation in resources with
copy_grants
([#3129](#3129))
- Address issue
[#2201](#2201)
by introducing new stream resources

Co-authored-by: snowflake-release-please[bot] <105954990+snowflake-release-please[bot]@users.noreply.github.com>
@sfc-gh-asawicki
Copy link
Collaborator

Hey @wpl-sf-nbirch. Were you able to validate the newer version?

@sfc-gh-asawicki
Copy link
Collaborator

Closing due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Used to mark issues with provider's incorrect behavior docs Used to mark issues with documentation remark/questions
Projects
None yet
Development

No branches or pull requests

2 participants