github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloud/aws/api-gateway/adapt.go (about) 1 package api_gateway 2 3 import ( 4 apiv1 "github.com/aws/aws-sdk-go-v2/service/apigateway" 5 apiv2 "github.com/aws/aws-sdk-go-v2/service/apigatewayv2" 6 "github.com/khulnasoft-lab/defsec/internal/adapters/cloud/aws" 7 "github.com/khulnasoft-lab/defsec/pkg/state" 8 ) 9 10 type adapter struct { 11 *aws.RootAdapter 12 clientV1 *apiv1.Client 13 clientV2 *apiv2.Client 14 } 15 16 func init() { 17 aws.RegisterServiceAdapter(&adapter{}) 18 } 19 20 func (a *adapter) Provider() string { 21 return "aws" 22 } 23 24 func (a *adapter) Name() string { 25 return "api-gateway" 26 } 27 28 func (a *adapter) Adapt(root *aws.RootAdapter, state *state.State) error { 29 30 a.RootAdapter = root 31 a.clientV1 = apiv1.NewFromConfig(root.SessionConfig()) 32 a.clientV2 = apiv2.NewFromConfig(root.SessionConfig()) 33 var err error 34 35 state.AWS.APIGateway.V1.DomainNames, err = a.getDomainNamesv1() 36 if err != nil { 37 return err 38 } 39 40 state.AWS.APIGateway.V1.APIs, err = a.getAPIsV1() 41 if err != nil { 42 return err 43 } 44 45 state.AWS.APIGateway.V2.DomainNames, err = a.getDomainNamesV2() 46 if err != nil { 47 return err 48 } 49 50 state.AWS.APIGateway.V2.APIs, err = a.getAPIsV2() 51 if err != nil { 52 return err 53 } 54 55 return nil 56 }