Skip to content

Commit

Permalink
Merge pull request #34156 from markoskandylis/f-VerifiedaccessEndpoint
Browse files Browse the repository at this point in the history
F verifiedaccess endpoint
  • Loading branch information
ewbankkit authored Oct 31, 2023
2 parents 270f10f + abaead6 commit 8423c75
Show file tree
Hide file tree
Showing 10 changed files with 1,250 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .changelog/30763.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:new-resource
aws_verifiedaccess_endpoint
```
34 changes: 34 additions & 0 deletions internal/service/ec2/consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,3 +297,37 @@ const (
gatewayIDLocal = "local"
gatewayIDVPCLattice = "VpcLattice"
)

const (
verifiedAccessAttachmentTypeVPC = "vpc"
)

func verifiedAccessAttachmentType_Values() []string {
return []string{
verifiedAccessAttachmentTypeVPC,
}
}

const (
verifiedAccessEndpointTypeLoadBalancer = "load-balancer"
verifiedAccessEndpointTypeNetworkInterface = "network-interface"
)

func verifiedAccessEndpointType_Values() []string {
return []string{
verifiedAccessEndpointTypeLoadBalancer,
verifiedAccessEndpointTypeNetworkInterface,
}
}

const (
verifiedAccessEndpointProtocolHTTP = "http"
verifiedAccessEndpointProtocolHTTPS = "https"
)

func verifiedAccessEndpointProtocol_Values() []string {
return []string{
verifiedAccessEndpointProtocolHTTP,
verifiedAccessEndpointProtocolHTTPS,
}
}
1 change: 1 addition & 0 deletions internal/service/ec2/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ const (
errCodeInvalidTransitGatewayPolicyTableIdNotFound = "InvalidTransitGatewayPolicyTableId.NotFound"
errCodeInvalidTransitGatewayIDNotFound = "InvalidTransitGatewayID.NotFound"
errCodeInvalidTransitGatewayMulticastDomainIdNotFound = "InvalidTransitGatewayMulticastDomainId.NotFound"
errCodeInvalidVerifiedAccessEndpointIdNotFound = "InvalidVerifiedAccessEndpointId.NotFound"
errCodeInvalidVerifiedAccessGroupIdNotFound = "InvalidVerifiedAccessGroupId.NotFound"
errCodeInvalidVerifiedAccessInstanceIdNotFound = "InvalidVerifiedAccessInstanceId.NotFound"
errCodeInvalidVerifiedAccessTrustProviderIdNotFound = "InvalidVerifiedAccessTrustProviderId.NotFound"
Expand Down
61 changes: 61 additions & 0 deletions internal/service/ec2/find.go
Original file line number Diff line number Diff line change
Expand Up @@ -7294,3 +7294,64 @@ func FindImageBlockPublicAccessState(ctx context.Context, conn *ec2_sdkv2.Client

return output.ImageBlockPublicAccessState, nil
}

func FindVerifiedAccessEndpoint(ctx context.Context, conn *ec2_sdkv2.Client, input *ec2_sdkv2.DescribeVerifiedAccessEndpointsInput) (*awstypes.VerifiedAccessEndpoint, error) {
output, err := FindVerifiedAccessEndpoints(ctx, conn, input)

if err != nil {
return nil, err
}

return tfresource.AssertSingleValueResult(output)
}

func FindVerifiedAccessEndpoints(ctx context.Context, conn *ec2_sdkv2.Client, input *ec2_sdkv2.DescribeVerifiedAccessEndpointsInput) ([]awstypes.VerifiedAccessEndpoint, error) {
var output []awstypes.VerifiedAccessEndpoint
paginator := ec2_sdkv2.NewDescribeVerifiedAccessEndpointsPaginator(conn, input)

for paginator.HasMorePages() {
page, err := paginator.NextPage(ctx)

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

if err != nil {
return nil, err
}

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

return output, nil
}

func FindVerifiedAccessEndpointByID(ctx context.Context, conn *ec2_sdkv2.Client, id string) (*awstypes.VerifiedAccessEndpoint, error) {
input := &ec2_sdkv2.DescribeVerifiedAccessEndpointsInput{
VerifiedAccessEndpointIds: []string{id},
}
output, err := FindVerifiedAccessEndpoint(ctx, conn, input)

if err != nil {
return nil, err
}

if status := output.Status; status != nil && status.Code == awstypes.VerifiedAccessEndpointStatusCodeDeleted {
return nil, &retry.NotFoundError{
Message: string(status.Code),
LastRequest: input,
}
}

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

return output, nil
}
8 changes: 8 additions & 0 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: 16 additions & 0 deletions internal/service/ec2/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -1515,3 +1515,19 @@ func StatusImageBlockPublicAccessState(ctx context.Context, conn *ec2_sdkv2.Clie
return output, aws_sdkv2.ToString(output), nil
}
}

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

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

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

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

0 comments on commit 8423c75

Please sign in to comment.