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

A snowflake user who is disabled in Snowflake and enabled in terraform does not generate a diff #1572

Open
arkadiyt opened this issue Feb 24, 2023 · 1 comment · Fixed by #2977
Labels
bug Used to mark issues with provider's incorrect behavior category:resource resource:user Issue connected to the snowflake_user resource

Comments

@arkadiyt
Copy link

arkadiyt commented Feb 24, 2023

Provider Version

0.51.0

Terraform Version

1.1.5

Describe the bug

Create a user with snowflake_user and don't set a disabled attribute. Disable the user in snowflake with alter user "<user>" set disabled = true;. Run a terraform plan - no diff is detected.

Expected behavior

The provider should detect a diff and try to re-enable the user.

Code samples and commands

resource "snowflake_user" "airflow_staging_test_user" {
  name           = "TEST_USER"
  login_name     = "TEST_USER"
  display_name   = "TEST_USER"
  rsa_public_key = "..."
}

Additional context

N/A

@arkadiyt arkadiyt added the bug Used to mark issues with provider's incorrect behavior label Feb 24, 2023
@sfc-gh-jcieslak sfc-gh-jcieslak added category:resource resource:user Issue connected to the snowflake_user resource labels May 20, 2024
sfc-gh-asawicki added a commit that referenced this issue Aug 23, 2024
sfc-gh-asawicki added a commit that referenced this issue Aug 28, 2024
Fix known user resource-connected issues:
- Change the sensitiveness of name and login_name (References: #2662
#2668)
- Handle "null" properly for the nullable bool text attributes in user
(References: #2817)
- Fix diff suppression for default_x in user resource (References:
#2836)
- Update the migration guide (References #2938 #2942)
- Fix incorrect state after failed to alter (References #2970)
- Confirm the problem with the computed disabled attribute (References
#1572)
- Confirm that the problem with the null-out password was already solved
(References #1535)
- Add TODO to handle days to expiry in user (References #1155)

The next 2 PRs will contain:
- adjusting user resource to our rework conventions (also adding
additional fields and handling #1155 and #1572)
- adjusting user datasource (will handle #2902)

User rework will not include handling new types of users (service,
legacy service); this will be done a bit later.
sfc-gh-asawicki added a commit that referenced this issue Aug 30, 2024
sfc-gh-asawicki added a commit that referenced this issue Sep 1, 2024
Rework user resource:
- schema adjusted
- handle show output properly
- updated user acceptance tests with new builders and assertions
- introduce new helpers in `resource_helpers_create.go`,
`resource_helpers_update.go`, and `resource_helpers_read.go`
- cleaned parameters handling a bit
- reused `parameterDef` between user and schema
- removed old way of handling keys in tests
- added float property to the SDK
- added integration tests documenting specific attributes behavior

Next PRs:
- handle policies for user (SNOW-1645875)
- deal with improper custom diffs with diff suppression (SNOW-1629468)
- move collection util (SNOW-1473414)
- remove `checkBool` helper
- datasource
- rename methods in `resource_helpers_read.go`
- update all changes in README (+ note that external changes for a few
attributes)
- change description of user public keys resource (should be used only
if user is not managed by terraform)
- add one more test for login and display name
- check the exact behavior of default_namespace and default_role because
it looks like it is handled in a case-insensitive manner on Snowflake
side
- check if any user parameter needs diffsuppression or validation
- test if hasMfa is always non-nullable, check if this has mfa helps
with disable mfa, add to the describe output too
- test what is visible if everything is set if there is no ownership on
the active role (+ update docs)
- handle `snowflake_user_password_policy_attachment` and
`snowflake_user_public_keys`
- add `IgnoreChangeToCurrentSnowflakeValueInShow` and other suppressors

References:
- #1155 
- #1572
sfc-gh-jcieslak pushed a commit that referenced this issue Sep 4, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.95.0](v0.94.1...v0.95.0)
(2024-09-04)


### 🎉 **What's new:**

* Add change_tracking, row access policy and aggregation policy to views
([#2988](#2988))
([1f88bb1](1f88bb1))
* Add fully_qualified_name to all resources
([#2990](#2990))
([1b0462f](1b0462f))
* Add identifier parsers
([#2957](#2957))
([824ec52](824ec52))
* Add identifier with arguments
([#2979](#2979))
([00ae1c5](00ae1c5))
* Add timeouts block to cortex
([#3004](#3004))
([34d764b](34d764b))
* Add user parameters to resource
([#2968](#2968))
([f4ae380](f4ae380))
* Conclude user rework
([#3036](#3036))
([23e4625](23e4625))
* database role v1 readiness
([#3014](#3014))
([c4db255](c4db255))
* Identifier with arguments for procedure and external function
([#2987](#2987))
([f13cc5c](f13cc5c))
* Rework user resource
([#3026](#3026))
([bde2638](bde2638)),
closes
[#1572](#1572)
* Rework users datasource
([#3030](#3030))
([751239b](751239b)),
closes
[#2902](#2902)
* Upgrade view sdk
([#2969](#2969))
([ef2d50a](ef2d50a))
* View rework part 2
([#3021](#3021))
([e05377d](e05377d))
* View rework part 3
([#3023](#3023))
([195b41c](195b41c))


### 🔧 **Misc**

* Add annotation about fully_qualified_name and fix handling granteeName
([#3009](#3009))
([94e6345](94e6345))
* Apply identifier conventions
([#2996](#2996))
([5cbea84](5cbea84))
* apply identifier conventions to grants
([#3008](#3008))
([d7780ae](d7780ae))
* Clean collection utils
([#3028](#3028))
([426ddb1](426ddb1))
* Clean old assertions
([#3029](#3029))
([ad657eb](ad657eb))
* Conclude identifiers rework
([#3011](#3011))
([c1b53f3](c1b53f3))
* Improve user test and add manual test for user default database and
role
([#3035](#3035))
([6cb0b4e](6cb0b4e))
* Use new identifier with arguments in function, external function and
procedure grants
([#3002](#3002))
([5053f8b](5053f8b))
* User improvements
([#3034](#3034))
([65b64d7](65b64d7))


### 🐛 **Bug fixes:**

* database tests and introduce a new parameter
([#2981](#2981))
([3bae7f6](3bae7f6))
* Fix custom diffs for fields with diff supression
([#3032](#3032))
([2499602](2499602))
* Fix default secondary roles after BCR 2024_07
([#3040](#3040))
([2ca465a](2ca465a)),
closes
[#3038](#3038)
* Fix issues 2972 and 3007
([#3020](#3020))
([1772387](1772387))
* Fix known user resource issues
([#3013](#3013))
([a5dfeac](a5dfeac))
* identifier issues
([#2998](#2998))
([6fb76b7](6fb76b7))
* minor issues
([#3027](#3027))
([467b06e](467b06e)),
closes
[#3015](#3015)
[#2807](#2807)
[#3025](#3025)
* Nuke users
([#2971](#2971))
([0d90cc9](0d90cc9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

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

Hey @arkadiyt.
We have just released v0.95.0 of the provider. It contains a reworked snowflake_user resource. Please consult the migration guide.

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 category:resource resource:user Issue connected to the snowflake_user resource
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants