hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.83k stars 9.17k forks source link

[Bug]: AWS CloudSearch provider doesn't support field name "id" #35564

Closed MoienTajik closed 3 months ago

MoienTajik commented 9 months ago

Terraform Core Version

1.7.1

AWS Provider Version

5.34.0

Affected Resource(s)

aws_cloudsearch_domain

Expected Behavior

In a domain, I specified an index_field with name "id". This should have created a new regular field in my cloud search domain.

Actual Behavior

Error: "index_field.0.name" must begin with a letter and be at least 3 and no more than 64 characters long

Relevant Error/Panic Output Snippet

No response

Terraform Configuration Files

resource "aws_cloudsearch_domain" "main" {
  name = "${var.name}-${var.environment}"

  index_field {
    name = "id"
    type = "int"
    return = true
    facet = true
    sort = false
    search = false
  }

  scaling_parameters {
    desired_instance_type     = var.instance_type
    desired_partition_count   = 1
    desired_replication_count = 1
  }
}

Steps to Reproduce

Debug Output

No response

Panic Output

No response

Important Factoids

The issue stems from the Regex at this line.

According to the AWS developer guide here, Terraform's current behavior is correct. However, if you attempt to create a new index field in a CloudSearch domain using the AWS Console and name the index field "id" or any other name shorter than 3 characters, it doesn't fail. This contradicts both the AWS documentation and Terraform's behavior.

Regular index field names must start with a letter and be at least 3 but no more than 64 characters long. The permissible characters are: a-z (lower-case letters), 0-9, and _ (underscore). The name 'score' is reserved and cannot be used as a field name. All field and expression names must be unique.

References

Would you like to implement a fix?

Yes

github-actions[bot] commented 9 months ago

Community Note

Voting for Prioritization

Volunteering to Work on This Issue

ulyssedsn commented 3 months ago

Hey @MoienTajik! We are also facing the same issue that you did have. I opened a PR to fix this. Can you and your team promote this fix by adding a πŸ‘ to the description of my PR #38509 Thanks so much in advance for your collaboration!

github-actions[bot] commented 3 months ago

[!WARNING] This issue has been closed, meaning that any additional comments are hard for our team to see. Please assume that the maintainers will not see them.

Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed.

github-actions[bot] commented 3 months ago

This functionality has been released in v5.61.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

github-actions[bot] commented 2 months ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.