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  }