github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloud/aws/api-gateway/domains_v1.go (about) 1 package api_gateway 2 3 import ( 4 "fmt" 5 6 "github.com/khulnasoft-lab/defsec/pkg/concurrency" 7 "github.com/khulnasoft-lab/defsec/pkg/types" 8 9 v1 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/apigateway/v1" 10 11 api "github.com/aws/aws-sdk-go-v2/service/apigateway" 12 agTypes "github.com/aws/aws-sdk-go-v2/service/apigateway/types" 13 ) 14 15 func (a *adapter) getDomainNamesv1() ([]v1.DomainName, error) { 16 a.Tracker().SetServiceLabel("Discovering v1 domain names...") 17 18 var input api.GetDomainNamesInput 19 var apiDomainNames []agTypes.DomainName 20 for { 21 output, err := a.clientV1.GetDomainNames(a.Context(), &input) 22 if err != nil { 23 return nil, err 24 } 25 apiDomainNames = append(apiDomainNames, output.Items...) 26 a.Tracker().SetTotalResources(len(apiDomainNames)) 27 if output.Position == nil { 28 break 29 } 30 input.Position = output.Position 31 } 32 33 a.Tracker().SetServiceLabel("Adapting v1 domain names...") 34 return concurrency.Adapt(apiDomainNames, a.RootAdapter, a.adaptDomainNameV1), nil 35 36 } 37 38 func (a *adapter) adaptDomainNameV1(domain agTypes.DomainName) (*v1.DomainName, error) { 39 metadata := a.CreateMetadata(fmt.Sprintf("/domainnames/%s", *domain.DomainName)) 40 return &v1.DomainName{ 41 Metadata: metadata, 42 Name: types.String(*domain.DomainName, metadata), 43 SecurityPolicy: types.String(string(domain.SecurityPolicy), metadata), 44 }, nil 45 }