Skip to content

Commit

Permalink
Merge pull request #36966 from mattburgess/rum_awssdkv2_migration
Browse files Browse the repository at this point in the history
rum: Migrate to AWS SDK v2
  • Loading branch information
ewbankkit committed Jun 17, 2024
2 parents 6535984 + 192ac93 commit a559ca0
Show file tree
Hide file tree
Showing 34 changed files with 1,888 additions and 1,824 deletions.
3 changes: 3 additions & 0 deletions .changelog/36966.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
resource/aws_ec2_network_insights_path: Mark `destination` as Optional
```
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/route53 v1.40.10
github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7
github.com/aws/aws-sdk-go-v2/service/rum v1.17.12
github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1
github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13
github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.10
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,8 @@ github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10 h1:R56F/k3CQZHwrd3k
github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.10/go.mod h1:W3+eDMk01Na1U3aQfwGkkEP1Yfe6WUn8hXzyInvGlcU=
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7 h1:32/NRAG4ka8/hwr1k9ZA2xwarcJeWO6djaIFJ42tuFg=
github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.7/go.mod h1:H9RRL0qQ+s+XlaZO5s5G3Z8cVZpKEoj313hOyglUwj0=
github.com/aws/aws-sdk-go-v2/service/rum v1.17.12 h1:QeR9ldfI/Hf5sNgvMKi/lnyTKqhg8DQ/BUlRBUuF2tA=
github.com/aws/aws-sdk-go-v2/service/rum v1.17.12/go.mod h1:sd4DiDquert2Ds9FJXnRj8v/78A682gIz1dxjiMRy/I=
github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1 h1:UAxBuh0/8sFJk1qOkvOKewP5sWeWaTPDknbQz0ZkDm0=
github.com/aws/aws-sdk-go-v2/service/s3 v1.55.1/go.mod h1:hWjsYGjVuqCgfoveVcVFPXIWgz0aByzwaxKlN1StKcM=
github.com/aws/aws-sdk-go-v2/service/s3control v1.44.13 h1:HhsZlX5gsL/KfEyHyBO5H0ewgmXoiBpjDPAZ3Ggrj8g=
Expand Down
6 changes: 3 additions & 3 deletions internal/conns/awsclient_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions internal/service/ec2/exports_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ var (
ResourceMainRouteTableAssociation = resourceMainRouteTableAssociation
ResourceNetworkACL = resourceNetworkACL
ResourceNetworkACLRule = resourceNetworkACLRule
ResourceNetworkInsightsAnalysis = resourceNetworkInsightsAnalysis
ResourceNetworkInsightsPath = resourceNetworkInsightsPath
ResourceNetworkInterface = resourceNetworkInterface
ResourcePlacementGroup = resourcePlacementGroup
ResourceRoute = resourceRoute
Expand Down Expand Up @@ -123,6 +125,8 @@ var (
FindLaunchTemplateByID = findLaunchTemplateByID
FindMainRouteTableAssociationByID = findMainRouteTableAssociationByID
FindNetworkACLByIDV2 = findNetworkACLByID
FindNetworkInsightsAnalysisByID = findNetworkInsightsAnalysisByID
FindNetworkInsightsPathByID = findNetworkInsightsPathByID
FindNetworkInterfaceByIDV2 = findNetworkInterfaceByID
FindNetworkPerformanceMetricSubscriptionByFourPartKey = findNetworkPerformanceMetricSubscriptionByFourPartKey
FindPlacementGroupByName = findPlacementGroupByName
Expand Down
124 changes: 0 additions & 124 deletions internal/service/ec2/find.go
Original file line number Diff line number Diff line change
Expand Up @@ -414,130 +414,6 @@ func FindNetworkInterfaceSecurityGroup(ctx context.Context, conn *ec2.EC2, netwo
}
}

func FindNetworkInsightsAnalysis(ctx context.Context, conn *ec2.EC2, input *ec2.DescribeNetworkInsightsAnalysesInput) (*ec2.NetworkInsightsAnalysis, error) {
output, err := FindNetworkInsightsAnalyses(ctx, conn, input)

if err != nil {
return nil, err
}

return tfresource.AssertSinglePtrResult(output)
}

func FindNetworkInsightsAnalyses(ctx context.Context, conn *ec2.EC2, input *ec2.DescribeNetworkInsightsAnalysesInput) ([]*ec2.NetworkInsightsAnalysis, error) {
var output []*ec2.NetworkInsightsAnalysis

err := conn.DescribeNetworkInsightsAnalysesPagesWithContext(ctx, input, func(page *ec2.DescribeNetworkInsightsAnalysesOutput, lastPage bool) bool {
if page == nil {
return !lastPage
}

for _, v := range page.NetworkInsightsAnalyses {
if v != nil {
output = append(output, v)
}
}

return !lastPage
})

if tfawserr.ErrCodeEquals(err, errCodeInvalidNetworkInsightsAnalysisIdNotFound) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

return output, nil
}

func FindNetworkInsightsAnalysisByID(ctx context.Context, conn *ec2.EC2, id string) (*ec2.NetworkInsightsAnalysis, error) {
input := &ec2.DescribeNetworkInsightsAnalysesInput{
NetworkInsightsAnalysisIds: aws.StringSlice([]string{id}),
}

output, err := FindNetworkInsightsAnalysis(ctx, conn, input)

if err != nil {
return nil, err
}

// Eventual consistency check.
if aws.StringValue(output.NetworkInsightsAnalysisId) != id {
return nil, &retry.NotFoundError{
LastRequest: input,
}
}

return output, nil
}

func FindNetworkInsightsPath(ctx context.Context, conn *ec2.EC2, input *ec2.DescribeNetworkInsightsPathsInput) (*ec2.NetworkInsightsPath, error) {
output, err := FindNetworkInsightsPaths(ctx, conn, input)

if err != nil {
return nil, err
}

return tfresource.AssertSinglePtrResult(output)
}

func FindNetworkInsightsPaths(ctx context.Context, conn *ec2.EC2, input *ec2.DescribeNetworkInsightsPathsInput) ([]*ec2.NetworkInsightsPath, error) {
var output []*ec2.NetworkInsightsPath

err := conn.DescribeNetworkInsightsPathsPagesWithContext(ctx, input, func(page *ec2.DescribeNetworkInsightsPathsOutput, lastPage bool) bool {
if page == nil {
return !lastPage
}

for _, v := range page.NetworkInsightsPaths {
if v != nil {
output = append(output, v)
}
}

return !lastPage
})

if tfawserr.ErrCodeEquals(err, errCodeInvalidNetworkInsightsPathIdNotFound) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

return output, nil
}

func FindNetworkInsightsPathByID(ctx context.Context, conn *ec2.EC2, id string) (*ec2.NetworkInsightsPath, error) {
input := &ec2.DescribeNetworkInsightsPathsInput{
NetworkInsightsPathIds: aws.StringSlice([]string{id}),
}

output, err := FindNetworkInsightsPath(ctx, conn, input)

if err != nil {
return nil, err
}

// Eventual consistency check.
if aws.StringValue(output.NetworkInsightsPathId) != id {
return nil, &retry.NotFoundError{
LastRequest: input,
}
}

return output, nil
}

func FindSecurityGroupByID(ctx context.Context, conn *ec2.EC2, id string) (*ec2.SecurityGroup, error) {
input := &ec2.DescribeSecurityGroupsInput{
GroupIds: aws.StringSlice([]string{id}),
Expand Down
110 changes: 110 additions & 0 deletions internal/service/ec2/findv2.go
Original file line number Diff line number Diff line change
Expand Up @@ -5265,3 +5265,113 @@ func findTrafficMirrorTargetByID(ctx context.Context, conn *ec2.Client, id strin

return output, nil
}

func findNetworkInsightsPath(ctx context.Context, conn *ec2.Client, input *ec2.DescribeNetworkInsightsPathsInput) (*awstypes.NetworkInsightsPath, error) {
output, err := findNetworkInsightsPaths(ctx, conn, input)

if err != nil {
return nil, err
}

return tfresource.AssertSingleValueResult(output)
}

func findNetworkInsightsAnalysis(ctx context.Context, conn *ec2.Client, input *ec2.DescribeNetworkInsightsAnalysesInput) (*awstypes.NetworkInsightsAnalysis, error) {
output, err := findNetworkInsightsAnalyses(ctx, conn, input)

if err != nil {
return nil, err
}

return tfresource.AssertSingleValueResult(output)
}

func findNetworkInsightsAnalyses(ctx context.Context, conn *ec2.Client, input *ec2.DescribeNetworkInsightsAnalysesInput) ([]awstypes.NetworkInsightsAnalysis, error) {
var output []awstypes.NetworkInsightsAnalysis

pages := ec2.NewDescribeNetworkInsightsAnalysesPaginator(conn, input)
for pages.HasMorePages() {
page, err := pages.NextPage(ctx)

if tfawserr.ErrCodeEquals(err, errCodeInvalidNetworkInsightsAnalysisIdNotFound) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

output = append(output, page.NetworkInsightsAnalyses...)
}

return output, nil
}

func findNetworkInsightsAnalysisByID(ctx context.Context, conn *ec2.Client, id string) (*awstypes.NetworkInsightsAnalysis, error) {
input := &ec2.DescribeNetworkInsightsAnalysesInput{
NetworkInsightsAnalysisIds: []string{id},
}

output, err := findNetworkInsightsAnalysis(ctx, conn, input)

if err != nil {
return nil, err
}

// Eventual consistency check.
if aws.ToString(output.NetworkInsightsAnalysisId) != id {
return nil, &retry.NotFoundError{
LastRequest: input,
}
}

return output, nil
}

func findNetworkInsightsPaths(ctx context.Context, conn *ec2.Client, input *ec2.DescribeNetworkInsightsPathsInput) ([]awstypes.NetworkInsightsPath, error) {
var output []awstypes.NetworkInsightsPath

pages := ec2.NewDescribeNetworkInsightsPathsPaginator(conn, input)
for pages.HasMorePages() {
page, err := pages.NextPage(ctx)

if tfawserr.ErrCodeEquals(err, errCodeInvalidNetworkInsightsPathIdNotFound) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

output = append(output, page.NetworkInsightsPaths...)
}

return output, nil
}

func findNetworkInsightsPathByID(ctx context.Context, conn *ec2.Client, id string) (*awstypes.NetworkInsightsPath, error) {
input := &ec2.DescribeNetworkInsightsPathsInput{
NetworkInsightsPathIds: []string{id},
}

output, err := findNetworkInsightsPath(ctx, conn, input)

if err != nil {
return nil, err
}

// Eventual consistency check.
if aws.ToString(output.NetworkInsightsPathId) != id {
return nil, &retry.NotFoundError{
LastRequest: input,
}
}

return output, nil
}
12 changes: 8 additions & 4 deletions internal/service/ec2/service_package_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions internal/service/ec2/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -378,22 +378,6 @@ func StatusManagedPrefixListState(ctx context.Context, conn *ec2.EC2, id string)
}
}

func StatusNetworkInsightsAnalysis(ctx context.Context, conn *ec2.EC2, id string) retry.StateRefreshFunc {
return func() (interface{}, string, error) {
output, err := FindNetworkInsightsAnalysisByID(ctx, conn, id)

if tfresource.NotFound(err) {
return nil, "", nil
}

if err != nil {
return nil, "", err
}

return output, aws.StringValue(output.Status), nil
}
}

func StatusNetworkInterfaceStatus(ctx context.Context, conn *ec2.EC2, id string) retry.StateRefreshFunc {
return func() (interface{}, string, error) {
output, err := FindNetworkInterfaceByID(ctx, conn, id)
Expand Down
16 changes: 16 additions & 0 deletions internal/service/ec2/statusv2.go
Original file line number Diff line number Diff line change
Expand Up @@ -1213,3 +1213,19 @@ func statusEBSSnapshotImport(ctx context.Context, conn *ec2.Client, id string) r
return output.SnapshotTaskDetail, aws.ToString(output.SnapshotTaskDetail.Status), nil
}
}

func statusNetworkInsightsAnalysis(ctx context.Context, conn *ec2.Client, id string) retry.StateRefreshFunc {
return func() (interface{}, string, error) {
output, err := findNetworkInsightsAnalysisByID(ctx, conn, id)

if tfresource.NotFound(err) {
return nil, "", nil
}

if err != nil {
return nil, "", err
}

return output, string(output.Status), nil
}
}
Loading

0 comments on commit a559ca0

Please sign in to comment.