-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
Terraform Version
terraform 0.13.2
Affected Resource(s)
- artifactory_remote_repository
Probably all resources that have string fields that it is valid to be the empty string.
Terraform Configuration Files
Using gocenter.io as a remote for the purposes of this example
Initial state
resource "artifactory_remote_repository" "someremote" {
url = "https://gocenter.io"
key = "gocenter"
package_type = "go"
repo_layout_ref = "go-default"
proxy = "someproxy"
}
Second apply
resource "artifactory_remote_repository" "someremote" {
url = "https://gocenter.io"
key = "gocenter"
package_type = "go"
repo_layout_ref = "go-default"
proxy = ""
}
Expected Behavior
Proxy should have been removed with a change of
proxy "someproxy" -> ""
Actual Behavior
Proxy field not passed to the API, as it got reduced to null
proxy "someproxy" => null
This retains the value "someproxy" in the remote.
Steps to Reproduce
This affects any string field in which changing the field to "" in the API would be a valid change.
terraform apply
with initial stateterraform apply
after changing a string field to ""
Possible fix
At https://github.com/atlassian/terraform-provider-artifactory/blob/master/pkg/artifactory/util.go#L15
d.GetOk(key) should perhaps be d.GetOkExists(key) so that empty strings are not treated as null
Metadata
Metadata
Assignees
Labels
No labels