Skip to content
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

Migrate IoT services to AWS Go SDKv2 #37152

Open
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

DanielRieske
Copy link
Contributor

@DanielRieske DanielRieske commented Apr 29, 2024

Description

Migrated the following services to SDKv2 and addressed some technical depth within them.

  • IoT Analytics Service
  • IoT Core Service
  • IoT Events Service
  • IoT Greengrass Service

Relations

Relates #32976

Closes #36170
Closes #36171
Closes #36172
Closes #36173
Closes #36834
Closes #37323

References

Output from Acceptance Testing

--- PASS: TestAccIoTThingGroup_disappears (17.01s)
--- PASS: TestAccIoTAuthorizer_basic (39.05s)
--- PASS: TestAccIoTTopicRule_elasticSearch (44.65s)
--- PASS: TestAccIoTTopicRule_dynamoDBv2 (39.13s)
--- PASS: TestAccIoTTopicRule_dynamoDB (42.98s)
--- PASS: TestAccIoTTopicRule_cloudWatchMetric (42.59s)
--- PASS: TestAccIoTTopicRule_cloudWatchLogs (42.98s)
--- PASS: TestAccIoTTopicRule_disappears (16.20s)
--- PASS: TestAccIoTTopicRule_cloudWatchAlarm (43.64s)
--- PASS: TestAccIoTTopicRule_tags (43.95s)
--- PASS: TestAccIoTTopicRule_basic (19.44s)
--- PASS: TestAccIoTEventConfigurations_serial (16.11s)
    --- PASS: TestAccIoTEventConfigurations_serial/basic (16.11s)
--- PASS: TestAccIoTThingGroup_basic (17.46s)
--- PASS: TestAccIoTThingGroupMembership_overrideDynamicGroup (17.92s)
--- PASS: TestAccIoTThingGroupMembership_disappears_ThingGroup (15.72s)
--- PASS: TestAccIoTThingGroupMembership_disappears_Thing (15.81s)
--- PASS: TestAccIoTThingGroupMembership_disappears (15.78s)
--- PASS: TestAccIoTThingGroupMembership_basic (18.22s)
--- PASS: TestAccIoTRoleAlias_tags (45.15s)
--- PASS: TestAccIoTRoleAlias_basic (76.04s)
--- PASS: TestAccIoTRegistrationCodeDataSource_basic (11.10s)
--- PASS: TestAccIoTProvisioningTemplate_update (40.37s)
--- PASS: TestAccIoTProvisioningTemplate_tags (52.43s)
--- PASS: TestAccIoTProvisioningTemplate_disappears (24.25s)
--- PASS: TestAccIoTProvisioningTemplate_basic (26.97s)
--- PASS: TestAccIoTPolicy_prune (83.75s)
--- PASS: TestAccIoTPolicy_update (29.39s)
--- PASS: TestAccIoTTopicRuleDestination_disappears (545.25s)
--- PASS: TestAccIoTPolicy_tags (40.59s)
--- PASS: TestAccIoTPolicy_disappears (15.57s)
--- PASS: TestAccIoTPolicy_basic (18.49s)
--- PASS: TestAccIoTTopicRuleDestination_basic (738.69s)
--- PASS: TestAccIoTPolicyAttachment_basic (52.25s)
--- PASS: TestAccIoTLoggingOptions_serial (64.28s)
    --- PASS: TestAccIoTLoggingOptions_serial/basic (25.35s)
    --- PASS: TestAccIoTLoggingOptions_serial/update (38.93s)
--- PASS: TestAccIoTIndexingConfiguration_serial (36.01s)
    --- PASS: TestAccIoTIndexingConfiguration_serial/basic (17.76s)
    --- PASS: TestAccIoTIndexingConfiguration_serial/allAttributes (18.25s)
--- PASS: TestAccIoTThing_full (344.45s)
--- PASS: TestAccIoTThingType_full (331.40s)
--- PASS: TestAccIoTThingType_tags (343.23s)
--- PASS: TestAccIoTThingGroup_properties (29.64s)
--- PASS: TestAccIoTThing_basic (17.21s)
--- PASS: TestAccIoTThingPrincipalAttachment_basic (62.48s)
--- PASS: TestAccIoTCACertificate_tags (37.79s)
=== RUN   TestAccIoTDomainConfiguration_basic
    domain_configuration_test.go:24: Environment variable ACM_CERTIFICATE_ROOT_DOMAIN is not set. For DNS validation requests, this domain must be publicly accessible and configurable via Route53 during the testing. For email validation requests, you must have access to one of the five standard email addresses used (admin|administrator|hostmaster|postmaster|webmaster)@domain or one of the WHOIS contact addresses.
--- SKIP: TestAccIoTDomainConfiguration_basic (0.00s)
=== RUN   TestAccIoTDomainConfiguration_disappears
    domain_configuration_test.go:64: Environment variable ACM_CERTIFICATE_ROOT_DOMAIN is not set. For DNS validation requests, this domain must be publicly accessible and configurable via Route53 during the testing. For email validation requests, you must have access to one of the five standard email addresses used (admin|administrator|hostmaster|postmaster|webmaster)@domain or one of the WHOIS contact addresses.
--- SKIP: TestAccIoTDomainConfiguration_disappears (0.00s)
=== RUN   TestAccIoTDomainConfiguration_tags
    domain_configuration_test.go:90: Environment variable ACM_CERTIFICATE_ROOT_DOMAIN is not set. For DNS validation requests, this domain must be publicly accessible and configurable via Route53 during the testing. For email validation requests, you must have access to one of the five standard email addresses used (admin|administrator|hostmaster|postmaster|webmaster)@domain or one of the WHOIS contact addresses.
--- SKIP: TestAccIoTDomainConfiguration_tags (0.00s)
=== RUN   TestAccIoTDomainConfiguration_update
    domain_configuration_test.go:137: Environment variable ACM_CERTIFICATE_ROOT_DOMAIN is not set. For DNS validation requests, this domain must be publicly accessible and configurable via Route53 during the testing. For email validation requests, you must have access to one of the five standard email addresses used (admin|administrator|hostmaster|postmaster|webmaster)@domain or one of the WHOIS contact addresses.
--- SKIP: TestAccIoTDomainConfiguration_update (0.00s)
=== RUN   TestAccIoTDomainConfiguration_awsManaged
    domain_configuration_test.go:181: Environment variable IOT_DOMAIN_CONFIGURATION_TEST_AWS_MANAGED is not set, skipping test
--- SKIP: TestAccIoTDomainConfiguration_awsManaged (0.00s)
--- PASS: TestAccIoTEndpointDataSource_EndpointType_iotJobs (11.27s)
--- PASS: TestAccIoTEndpointDataSource_EndpointType_iotDataATS (11.23s)
--- PASS: TestAccIoTEndpointDataSource_EndpointType_iotData (11.21s)
--- PASS: TestAccIoTEndpointDataSource_EndpointType_iotCredentialProvider (11.09s)
--- PASS: TestAccIoTEndpointDataSource_basic (11.21s)
--- PASS: TestAccIoTCertificate_Keys_existingCertificate (25.40s)
--- PASS: TestAccIoTCertificate_Keys_certificate (14.86s)
--- PASS: TestAccIoTTopicRuleDestination_enabled (1226.55s)
--- PASS: TestAccIoTCertificate_csr (14.56s)
--- PASS: TestAccIoTCACertificate_registrationConfig (27.81s)
--- PASS: TestAccIoTCACertificate_defaultMode (30.23s)
--- PASS: TestAccIoTThingGroup_parentGroup (21.36s)
--- PASS: TestAccIoTThingType_disappears (317.37s)
--- PASS: TestAccIoTBillingGroup_disappears (16.04s)
--- PASS: TestAccIoTCACertificate_disappears (16.29s)
--- PASS: TestAccIoTThingType_basic (319.50s)
--- PASS: TestAccIoTCACertificate_basic (16.20s)
--- PASS: TestAccIoTThingGroup_tags (43.31s)
--- PASS: TestAccIoTTopicRule_lambda (20.21s)
--- PASS: TestAccIoTBillingGroup_properties (31.46s)
--- PASS: TestAccIoTBillingGroup_tags (42.77s)
--- PASS: TestAccIoTTopicRule_updateKinesisErrorAction (44.68s)
--- PASS: TestAccIoTTopicRule_errorAction (30.62s)
--- PASS: TestAccIoTTopicRule_Timestream (44.73s)
--- PASS: TestAccIoTTopicRule_Step_functions (44.43s)
--- PASS: TestAccIoTTopicRule_sqs (44.92s)
--- PASS: TestAccIoTTopicRule_sns (44.79s)
--- PASS: TestAccIoTTopicRule_republishWithQos (30.74s)
--- PASS: TestAccIoTTopicRule_s3 (45.18s)
--- PASS: TestAccIoTTopicRule_IoT_analytics_batch_mode (41.72s)
--- PASS: TestAccIoTTopicRule_republish (45.06s)
--- PASS: TestAccIoTTopicRule_kinesis (45.43s)
--- PASS: TestAccIoTTopicRule_IoT_events (26.99s)
--- PASS: TestAccIoTTopicRule_IoT_events_batch_mode (40.52s)
--- PASS: TestAccIoTTopicRule_kafka (70.84s)
--- PASS: TestAccIoTTopicRule_Firehose_batch_mode (44.29s)
--- PASS: TestAccIoTTopicRule_IoT_analytics (40.55s)
--- PASS: TestAccIoTAuthorizer_signingDisabled (37.98s)
--- PASS: TestAccIoTTopicRule_http (57.12s)
--- PASS: TestAccIoTTopicRule_Firehose_separator (44.50s)
--- PASS: TestAccIoTTopicRule_firehose (43.95s)
--- PASS: TestAccIoTAuthorizer_disappears (35.04s)
--- PASS: TestAccIoTBillingGroup_basic (18.56s)
--- PASS: TestAccIoTAuthorizer_update (48.01s)
--- PASS: TestAccIoTAuthorizer_tags (65.94s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iot	1755.809s

Copy link

Community Note

Voting for Prioritization

  • Please vote on this pull request by adding a 👍 reaction to the original post to help the community and maintainers prioritize this pull request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

For Submitters

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • For new resources and data sources, use skaff to generate scaffolding with comments detailing common expectations.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added size/XL Managed by automation to categorize the size of a PR. documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/iot Issues and PRs that pertain to the iot service. service/greengrass Issues and PRs that pertain to the greengrass service. service/iotevents Issues and PRs that pertain to the iotevents service. service/iotanalytics Issues and PRs that pertain to the iotanalytics service. sweeper Pertains to changes to or issues with the sweeper. tags Pertains to resource tagging. repository Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog. client-connections Pertains to the AWS Client and service connections. generators Relates to code generators. github_actions Pull requests that update Github_actions code labels Apr 29, 2024
@terraform-aws-provider terraform-aws-provider bot added needs-triage Waiting for first response or review from a maintainer. external-maintainer Contribution from a trusted external contributor. labels Apr 29, 2024
Copy link

Thank you for your contribution! 🚀

Please note that typically Go dependency changes are handled in this repository by dependabot or the maintainers. This is to prevent pull request merge conflicts and further delay reviews of contributions. Remove any changes to the go.mod or go.sum files and commit them into this pull request.

Additional details:

  • Check open pull requests with the dependencies label to view other dependency updates.
  • If this pull request includes an update the AWS Go SDK (or any other dependency) version, only updates submitted via dependabot will be merged. This pull request will need to remove these changes and will need to be rebased after the existing dependency update via dependabot has been merged for this pull request to be reviewed.
  • If this pull request is for supporting a new AWS service:
    • Ensure the new AWS service changes are following the Contributing Guide section on new services, in particular that the dependency addition and initial provider support are in a separate pull request from other changes (e.g. new resources). Contributions not following this item will not be reviewed until the changes are split.
    • If this pull request is already a separate pull request from the above item, you can ignore this message.

@justinretzolk justinretzolk added aws-sdk-go-migration Issues that are related to the providers migration to AWS SDK for Go v2. and removed needs-triage Waiting for first response or review from a maintainer. labels Apr 30, 2024
@DanielRieske DanielRieske changed the title Migrate IoT Services to AWS Go SDKv2 Migrate IoT services to AWS Go SDKv2 May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aws-sdk-go-migration Issues that are related to the providers migration to AWS SDK for Go v2. client-connections Pertains to the AWS Client and service connections. documentation Introduces or discusses updates to documentation. external-maintainer Contribution from a trusted external contributor. generators Relates to code generators. github_actions Pull requests that update Github_actions code repository Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog. service/greengrass Issues and PRs that pertain to the greengrass service. service/iot Issues and PRs that pertain to the iot service. service/iotanalytics Issues and PRs that pertain to the iotanalytics service. service/iotevents Issues and PRs that pertain to the iotevents service. size/XL Managed by automation to categorize the size of a PR. sweeper Pertains to changes to or issues with the sweeper. tags Pertains to resource tagging. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
2 participants