-
Notifications
You must be signed in to change notification settings - Fork 9.4k
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
feat: Implement ListTags for all taggable Lightsail resources #37711
Conversation
Community NoteVoting for Prioritization
For Submitters
|
5152d20
to
7fb48bd
Compare
7fb48bd
to
cfebac1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
% AWS_DEFAULT_REGION=us-east-1 make testacc TESTARGS='-run=TestAccLightsailBucket_\|TestAccLightsailCertificate_\|TestAccLightsailDistribution_\|TestAccLightsailInstance_\|TestAccLightsailKeyPair\|TestAccLightsailLoadBalancer_' PKG=lightsail
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.22.2 test ./internal/service/lightsail/... -v -count 1 -parallel 20 -run=TestAccLightsailBucket_\|TestAccLightsailCertificate_\|TestAccLightsailDistribution_\|TestAccLightsailInstance_\|TestAccLightsailKeyPair\|TestAccLightsailLoadBalancer_ -timeout 360m
instance_test.go:364: skipping test; environment variable TF_AWS_LIGHTSAIL_AVAILABILITY_ZONE must be set. Usage: The availability zone that is outside the providers current region.
--- SKIP: TestAccLightsailInstance_availabilityZone (0.00s)
--- PASS: TestAccLightsailKeyPair_disappears (29.92s)
--- PASS: TestAccLightsailKeyPair_publicKey (30.41s)
--- PASS: TestAccLightsailKeyPair_basic (30.66s)
--- PASS: TestAccLightsailKeyPair_encrypted (30.75s)
--- PASS: TestAccLightsailKeyPair_namePrefix (30.96s)
--- PASS: TestAccLightsailBucket_basic (33.91s)
--- PASS: TestAccLightsailContainerService_publicDomainNames (5.02s)
--- PASS: TestAccLightsailKeyPair_tags (46.52s)
--- PASS: TestAccLightsailKeyPair_keyOnlyTags (47.70s)
--- PASS: TestAccLightsailInstance_basic (54.14s)
--- PASS: TestAccLightsailInstance_disappears (54.40s)
--- PASS: TestAccLightsailCertificate_keyOnlyTags (62.63s)
--- PASS: TestAccLightsailBucket_forceDelete (27.25s)
--- PASS: TestAccLightsailCertificate_disappears (43.94s)
--- PASS: TestAccLightsailInstance_IPAddressType (74.75s)
--- PASS: TestAccLightsailInstance_tags (78.14s)
--- PASS: TestAccLightsailInstance_keyOnlyTags (78.85s)
--- PASS: TestAccLightsailCertificate_DomainValidationOptions (41.10s)
--- PASS: TestAccLightsailCertificate_basic (40.86s)
--- PASS: TestAccLightsailCertificate_subjectAlternativeNames (42.15s)
--- PASS: TestAccLightsailCertificate_tags (63.43s)
--- PASS: TestAccLightsailBucket_tags (40.98s)
--- PASS: TestAccLightsailBucket_BundleId (38.72s)
--- PASS: TestAccLightsailBucket_keyOnlyTags (41.74s)
--- PASS: TestAccLightsailBucket_disappears (25.24s)
--- PASS: TestAccLightsailInstance_name (130.31s)
--- PASS: TestAccLightsailInstance_addOn (241.45s)
--- PASS: TestAccLightsailContainerService_keyOnlyTags (277.54s)
--- PASS: TestAccLightsailContainerService_scale (343.42s)
--- PASS: TestAccLightsailContainerService_tags (277.11s)
--- PASS: TestAccLightsailLoadBalancer_serial (4977.12s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb (1378.97s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/tags (190.28s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/key_only_tags (174.43s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/basic (168.44s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/disappears (168.63s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/name (310.59s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb/health_check_path (366.61s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_attachment (1180.22s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_attachment/basic (561.44s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_attachment/disappears (618.78s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate (879.98s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate/basic (220.11s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate/disappears (230.79s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate/domain_validation_records (209.04s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate/subject_alternative_names (220.02s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate_attachment (225.96s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_certificate_attachment/basic (225.96s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_https_redirection_policy (151.93s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_https_redirection_policy/basic (151.93s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_stickiness_policy (1160.06s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_stickiness_policy/basic (370.88s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_stickiness_policy/cookie_duration (375.49s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_stickiness_policy/enabled (211.81s)
--- PASS: TestAccLightsailLoadBalancer_serial/lb_stickiness_policy/disappears (201.88s)
--- PASS: TestAccLightsailDistribution_serial (5287.40s)
--- PASS: TestAccLightsailDistribution_serial/distribution (5287.40s)
--- PASS: TestAccLightsailDistribution_serial/distribution/ip_address_type (657.51s)
--- PASS: TestAccLightsailDistribution_serial/distribution/tags (353.49s)
--- PASS: TestAccLightsailDistribution_serial/distribution/keyOnlyTags (356.70s)
--- PASS: TestAccLightsailDistribution_serial/distribution/basic (337.88s)
--- PASS: TestAccLightsailDistribution_serial/distribution/cache_behavior (955.63s)
--- PASS: TestAccLightsailDistribution_serial/distribution/cache_behavior_settings (649.86s)
--- PASS: TestAccLightsailDistribution_serial/distribution/default_cache_behavior (689.41s)
--- PASS: TestAccLightsailDistribution_serial/distribution/disappears (333.62s)
--- PASS: TestAccLightsailDistribution_serial/distribution/is_enabled (953.30s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/lightsail 5292.966s
% make testacc TESTARGS='-run=TestAccLightsailContainerService_' PKG=lightsail
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.22.2 test ./internal/service/lightsail/... -v -count 1 -parallel 20 -run=TestAccLightsailContainerService_ -timeout 360m
--- PASS: TestAccLightsailContainerService_publicDomainNames (34.44s)
--- PASS: TestAccLightsailContainerService_tags (330.03s)
--- PASS: TestAccLightsailContainerService_scale (384.40s)
--- PASS: TestAccLightsailContainerService_power (404.57s)
--- PASS: TestAccLightsailContainerService_name (414.98s)
--- PASS: TestAccLightsailContainerService_isDisabled (487.33s)
--- PASS: TestAccLightsailContainerService_disappears (527.64s)
--- PASS: TestAccLightsailContainerService_privateRegistryAccess (532.87s)
--- PASS: TestAccLightsailContainerService_basic (551.51s)
--- PASS: TestAccLightsailContainerService_keyOnlyTags (555.15s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/lightsail 560.854s
@acwwat thank you for the contribution! 🎉 |
This functionality has been released in v5.52.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! |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Description
This PR is to update the
ListTags
function to support all Lightsail resources, so that key-value tags can be applied to them without issues that was exposed in #32430 and other related issues.While running acceptance tests I found numerous unrelated issues which needed to be fixed, which was time-consuming to say the least:
NotFoundException
in the delete function, sodisappears
test cases were failing.aws_lightsail_database
were using a deprecated/removed instance typemicro_1_0
, which are now replaced bymicro_2_0
.aws_lightsail_database
that validate invalid schedule input were failing due to the removal of an ending period in the error message, which needed to be removed from the regex check.One last issue is that for
aws_lightsail_distribution
, the create API returns a validation error for key-only tags, indicating that the value must have at least 1 character:This is not as expected according to the documentation, and since the
TagResource
API supports key-only tag for distributions. I've opened an AWS support case to have AWS fix theCreateDistribution
API and updated the test case to avoid key-only tags on create for now.Relations
Closes #37652
References
Used the implementation for
aws_lightsail_instance
in PR #37652 as reference.Output from Acceptance Testing
For
aws_lightsail_bucket
:For
aws_lightsail_certificate
:For
aws_lightsail_container_service
:For
aws_lightsail_database
:For
aws_lightsail_distribution
:For
aws_lightsail_instance
:For
aws_lightsail_key_pair
:For
aws_lightsail_lb
: