github.com/GoogleCloudPlatform/terraformer@v0.8.18/providers/aws/swf.go (about) 1 package aws 2 3 import ( 4 "context" 5 6 "github.com/GoogleCloudPlatform/terraformer/terraformutils" 7 "github.com/aws/aws-sdk-go-v2/service/swf" 8 "github.com/aws/aws-sdk-go-v2/service/swf/types" 9 ) 10 11 type SWFGenerator struct { 12 AWSService 13 } 14 15 func (g *SWFGenerator) InitResources() error { 16 regStatuses := []types.RegistrationStatus{types.RegistrationStatusRegistered, types.RegistrationStatusDeprecated} 17 config, e := g.generateConfig() 18 if e != nil { 19 return e 20 } 21 svc := swf.NewFromConfig(config) 22 for _, status := range regStatuses { 23 p := swf.NewListDomainsPaginator(svc, &swf.ListDomainsInput{RegistrationStatus: status}) 24 for p.HasMorePages() { 25 page, err := p.NextPage(context.TODO()) 26 if err != nil { 27 return err 28 } 29 for _, domain := range page.DomainInfos { 30 g.Resources = append(g.Resources, terraformutils.NewSimpleResource( 31 *domain.Name, 32 *domain.Name, 33 "aws_swf_domain", 34 "aws", 35 []string{}, 36 )) 37 } 38 } 39 } 40 return nil 41 }