terraform-provider-ovh
terraform-provider-ovh copied to clipboard
Importing ovh_cloud_project_user leads to object replacement
Hi,
When I import a cloud user to Terraform, when I try to apply my configuration afterwards, the user is replaced (new one created).
Terraform Version
❯ terraform -v
Terraform v1.1.8
on linux_amd64
+ provider registry.terraform.io/ovh/ovh v0.17.1
Affected Resource(s)
Please list the resources as a list, for example:
- ovh_cloud_project_user
Terraform Configuration Files
resource "ovh_cloud_project_user" "prometheus-operator" {
description = "Prometheus Operator"
service_name = var.ovh_service_name
role_name = "objectstore_operator"
}
Expected Behavior
User should be updated in-place with imported values
Actual Behavior
User is replaced, due to the role change
Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
-
terraform import ovh_cloud_project_user.prometheus-operator project_id/user_name
-
terraform plan
Output
The plan will destroy and recreate my user:
Terraform will perform the following actions:
# ovh_cloud_project_user.prometheus-operator must be replaced
-/+ resource "ovh_cloud_project_user" "prometheus-operator" {
~ creation_date = "2022-04-07T14:32:19.803536+02:00" -> (known after apply)
~ id = "masked" -> (known after apply)
~ openstack_rc = {
- "OS_AUTH_URL" = "https://auth.cloud.ovh.net/v3"
- "OS_TENANT_ID" = "masked"
- "OS_TENANT_NAME" = "masked"
- "OS_USERNAME" = "user"
} -> (known after apply)
+ password = (sensitive value)
+ role_name = "objectstore_operator" # forces replacement
~ roles = [
- {
- description = "ObjectStore operator"
- id = "masked"
- name = "objectstore_operator"
- permissions = [
- "objectstore_all",
]
},
] -> (known after apply)
~ status = "ok" -> (known after apply)
~ username = "masked" -> (known after apply)
# (2 unchanged attributes hidden)
}
Plan: 1 to add, 0 to change, 1 to destroy.