Skip to content

[Bug]: linode_object_storage_bucket saves different region to tfstate than declared #2131

@pkawa-dev

Description

@pkawa-dev

Terraform Version

v.1.13.0

Linode Provider Version

version = "3.4.0"

Effected Terraform Resources

linode_object_storage_bucket

Terraform Config Files

terraform {                                                                         
  required_providers {                                                              
    linode = {                                                                      
      source  = "linode/linode"                                                     
      version = "3.4.0"                                                             
    }                                                                               
  }                                                                                 
}                                                                                   
                                                                                    
provider "linode" {                                                                 
  token = "X"        
}                                                                                   
                                                                                    
resource "linode_object_storage_bucket" "foobar" {                                  
  region = "us-ord-1"                                                               
  label  = "testpkawamzuber"                                                        
}

Debug Output

No response

Panic Output

No response

Expected Behavior

As region is not valid (it's a correct cluster parameter, but not region), bucket should not be created.

Actual Behavior

In the first run, bucket creates, and then, in 2nd run, bucket gets recreated because the terraform detects region change.

  # linode_object_storage_bucket.foobar must be replaced
-/+ resource "linode_object_storage_bucket" "foobar" {
      ~ cluster       = "us-ord-1" -> (known after apply)
      ~ cors_enabled  = true -> (known after apply)
      ~ endpoint      = "us-ord-1.linodeobjects.com" -> (known after apply)
      ~ endpoint_type = "E1" -> (known after apply)
      ~ hostname      = "testpkawamzuber.us-ord-1.linodeobjects.com" -> (known after apply)
      ~ id            = "us-ord:testpkawamzuber" -> (known after apply)
      ~ region        = "us-ord" -> "us-ord-1" # forces replacement
      ~ s3_endpoint   = "us-ord-1.linodeobjects.com" -> (known after apply)
      + versioning    = (known after apply)

Steps to Reproduce

Run the pasted terraform 2 times in a row.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugissues that report a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions