Skip to content

Commit

Permalink
Merge pull request #28499 from hashicorp/td-apiclient-accessors
Browse files Browse the repository at this point in the history
Use accessor methods for AWS SDK API clients
  • Loading branch information
ewbankkit authored Dec 21, 2022
2 parents 88f09f9 + 6b954b4 commit 1076f59
Show file tree
Hide file tree
Showing 2,766 changed files with 9,483 additions and 8,253 deletions.
2 changes: 1 addition & 1 deletion docs/retries-and-waiters.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ function ExampleThingCreate(d *schema.ResourceData, meta interface{}) error {
}

function ExampleThingRead(d *schema.ResourceData, meta interface{}) error {
conn := meta.(*AWSClient).exampleconn
conn := meta.(*AWSClient).ExampleConn()

input := &example.OperationInput{/* ... */}

Expand Down
10 changes: 5 additions & 5 deletions docs/running-and-writing-acceptance-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ When executing the test, the following steps are taken for each `TestStep`:
return fmt.Errorf("Not found: %s", n)
}
conn := acctest.Provider.Meta().(*conns.AWSClient).CloudWatchConn
conn := acctest.Provider.Meta().(*conns.AWSClient).CloudWatchConn()
params := cloudwatch.GetDashboardInput{
DashboardName: aws.String(rs.Primary.ID),
}
Expand Down Expand Up @@ -286,7 +286,7 @@ When executing the test, the following steps are taken for each `TestStep`:
```go
func testAccCheckDashboardDestroy(s *terraform.State) error {
conn := acctest.Provider.Meta().(*conns.AWSClient).CloudWatchConn
conn := acctest.Provider.Meta().(*conns.AWSClient).CloudWatchConn()
for _, rs := range s.RootModule().Resources {
if rs.Type != "aws_cloudwatch_dashboard" {
Expand Down Expand Up @@ -604,7 +604,7 @@ func TestAccExampleThing_basic(t *testing.T) {
}

func testAccPreCheckExample(t *testing.T) {
conn := acctest.Provider.Meta().(*conns.AWSClient).ExampleConn
conn := acctest.Provider.Meta().(*conns.AWSClient).ExampleConn()
input := &example.ListThingsInput{}
_, err := conn.ListThings(input)
if testAccPreCheckSkipError(err) {
Expand Down Expand Up @@ -1218,7 +1218,7 @@ func sweepThings(region string) error {
return fmt.Errorf("getting client: %w", err)
}

conn := client.(*conns.AWSClient).ExampleConn
conn := client.(*conns.AWSClient).ExampleConn()
sweepResources := make([]sweep.Sweepable, 0)
var errs *multierror.Error

Expand Down Expand Up @@ -1284,7 +1284,7 @@ func sweepThings(region string) error {
return fmt.Errorf("getting client: %w", err)
}

conn := client.(*conns.AWSClient).ExampleConn
conn := client.(*conns.AWSClient).ExampleConn()
sweepResources := make([]sweep.Sweepable, 0)
var errs *multierror.Error

Expand Down
30 changes: 15 additions & 15 deletions internal/acctest/acctest.go
Original file line number Diff line number Diff line change
Expand Up @@ -753,7 +753,7 @@ func PreCheckPartitionNot(t *testing.T, partitions ...string) {
}

func PreCheckOrganizationsAccount(t *testing.T) {
_, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn)
_, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn())

if tfresource.NotFound(err) {
return
Expand All @@ -767,7 +767,7 @@ func PreCheckOrganizationsAccount(t *testing.T) {
}

func PreCheckOrganizationsEnabled(t *testing.T) {
_, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn)
_, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn())

if tfresource.NotFound(err) {
t.Skip("this AWS account must be an existing member of an AWS Organization")
Expand All @@ -779,13 +779,13 @@ func PreCheckOrganizationsEnabled(t *testing.T) {
}

func PreCheckOrganizationManagementAccount(t *testing.T) {
organization, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn)
organization, err := tforganizations.FindOrganization(Provider.Meta().(*conns.AWSClient).OrganizationsConn())

if err != nil {
t.Fatalf("error describing AWS Organization: %s", err)
}

callerIdentity, err := tfsts.FindCallerIdentity(context.Background(), Provider.Meta().(*conns.AWSClient).STSConn)
callerIdentity, err := tfsts.FindCallerIdentity(context.Background(), Provider.Meta().(*conns.AWSClient).STSConn())

if err != nil {
t.Fatalf("error getting current identity: %s", err)
Expand All @@ -797,7 +797,7 @@ func PreCheckOrganizationManagementAccount(t *testing.T) {
}

func PreCheckSSOAdminInstances(t *testing.T) {
conn := Provider.Meta().(*conns.AWSClient).SSOAdminConn
conn := Provider.Meta().(*conns.AWSClient).SSOAdminConn()
input := &ssoadmin.ListInstancesInput{}
var instances []*ssoadmin.InstanceMetadata

Expand Down Expand Up @@ -825,7 +825,7 @@ func PreCheckSSOAdminInstances(t *testing.T) {
}

func PreCheckHasIAMRole(t *testing.T, roleName string) {
conn := Provider.Meta().(*conns.AWSClient).IAMConn
conn := Provider.Meta().(*conns.AWSClient).IAMConn()

input := &iam.GetRoleInput{
RoleName: aws.String(roleName),
Expand All @@ -844,7 +844,7 @@ func PreCheckHasIAMRole(t *testing.T, roleName string) {
}

func PreCheckIAMServiceLinkedRole(t *testing.T, pathPrefix string) {
conn := Provider.Meta().(*conns.AWSClient).IAMConn
conn := Provider.Meta().(*conns.AWSClient).IAMConn()

input := &iam.ListRolesInput{
PathPrefix: aws.String(pathPrefix),
Expand Down Expand Up @@ -1349,7 +1349,7 @@ func RandomEmailAddress(domainName string) string {
}

func PreCheckOutpostsOutposts(t *testing.T) {
conn := Provider.Meta().(*conns.AWSClient).OutpostsConn
conn := Provider.Meta().(*conns.AWSClient).OutpostsConn()

input := &outposts.ListOutpostsInput{}

Expand Down Expand Up @@ -1418,7 +1418,7 @@ func ACMCertificateRandomSubDomain(rootDomain string) string {

func CheckACMPCACertificateAuthorityActivateRootCA(certificateAuthority *acmpca.CertificateAuthority) resource.TestCheckFunc {
return func(s *terraform.State) error {
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn()

if v := aws.StringValue(certificateAuthority.Type); v != acmpca.CertificateAuthorityTypeRoot {
return fmt.Errorf("attempting to activate ACM PCA %s Certificate Authority", v)
Expand Down Expand Up @@ -1484,7 +1484,7 @@ func CheckACMPCACertificateAuthorityActivateRootCA(certificateAuthority *acmpca.

func CheckACMPCACertificateAuthorityActivateSubordinateCA(rootCertificateAuthority, certificateAuthority *acmpca.CertificateAuthority) resource.TestCheckFunc {
return func(s *terraform.State) error {
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn()

if v := aws.StringValue(certificateAuthority.Type); v != acmpca.CertificateAuthorityTypeSubordinate {
return fmt.Errorf("attempting to activate ACM PCA %s Certificate Authority", v)
Expand Down Expand Up @@ -1553,7 +1553,7 @@ func CheckACMPCACertificateAuthorityActivateSubordinateCA(rootCertificateAuthori

func CheckACMPCACertificateAuthorityDisableCA(certificateAuthority *acmpca.CertificateAuthority) resource.TestCheckFunc {
return func(s *terraform.State) error {
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn()

_, err := conn.UpdateCertificateAuthority(&acmpca.UpdateCertificateAuthorityInput{
CertificateAuthorityArn: certificateAuthority.Arn,
Expand All @@ -1575,7 +1575,7 @@ func CheckACMPCACertificateAuthorityExists(n string, certificateAuthority *acmpc
return fmt.Errorf("no ACM PCA Certificate Authority ID is set")
}

conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn
conn := Provider.Meta().(*conns.AWSClient).ACMPCAConn()

input := &acmpca.DescribeCertificateAuthorityInput{
CertificateAuthorityArn: aws.String(rs.Primary.ID),
Expand Down Expand Up @@ -1605,7 +1605,7 @@ func PreCheckAPIGatewayTypeEDGE(t *testing.T) {
}

func PreCheckDirectoryService(t *testing.T) {
conn := Provider.Meta().(*conns.AWSClient).DSConn
conn := Provider.Meta().(*conns.AWSClient).DSConn()

input := &directoryservice.DescribeDirectoriesInput{}

Expand All @@ -1624,7 +1624,7 @@ func PreCheckDirectoryService(t *testing.T) {
// and we do not have a good read-only way to determine this situation. Here we
// opt to perform a creation that will fail so we can determine Simple AD support.
func PreCheckDirectoryServiceSimpleDirectory(t *testing.T) {
conn := Provider.Meta().(*conns.AWSClient).DSConn
conn := Provider.Meta().(*conns.AWSClient).DSConn()

input := &directoryservice.CreateDirectoryInput{
Name: aws.String("corp.example.com"),
Expand Down Expand Up @@ -1986,7 +1986,7 @@ func CheckVPCExists(n string, v *ec2.Vpc) resource.TestCheckFunc {
return fmt.Errorf("no VPC ID is set")
}

conn := Provider.Meta().(*conns.AWSClient).EC2Conn
conn := Provider.Meta().(*conns.AWSClient).EC2Conn()

output, err := tfec2.FindVPCByID(conn, rs.Primary.ID)

Expand Down
2 changes: 1 addition & 1 deletion internal/acctest/provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ func testAccCheckSTSRegion(t *testing.T, p **schema.Provider, expectedRegion str
return fmt.Errorf("provider not initialized")
}

stsRegion := aws.StringValue((*p).Meta().(*conns.AWSClient).STSConn.Config.Region)
stsRegion := aws.StringValue((*p).Meta().(*conns.AWSClient).STSConn().Config.Region)

if stsRegion != expectedRegion {
return fmt.Errorf("expected STS Region (%s), got: %s", expectedRegion, stsRegion)
Expand Down
6 changes: 6 additions & 0 deletions internal/conns/awsclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package conns
import (
"context"
"fmt"

"github.com/aws/aws-sdk-go/service/s3"
)

// InitContext creates context.
Expand All @@ -23,3 +25,7 @@ func (client *AWSClient) PartitionHostname(prefix string) string {
func (client *AWSClient) RegionalHostname(prefix string) string {
return fmt.Sprintf("%s.%s.%s", prefix, client.Region, client.DNSSuffix)
}

func (client *AWSClient) S3ConnURICleaningDisabled() *s3.S3 {
return client.s3ConnURICleaningDisabled
}
Loading

0 comments on commit 1076f59

Please sign in to comment.