github.com/olli-ai/jx/v2@v2.0.400-0.20210921045218-14731b4dd448/pkg/cloud/amazon/zones.go (about)

     1  package amazon
     2  
     3  import (
     4  	"github.com/aws/aws-sdk-go/service/ec2"
     5  	"github.com/olli-ai/jx/v2/pkg/cloud/amazon/session"
     6  )
     7  
     8  func AvailabilityZones() ([]string, error) {
     9  	answer := []string{}
    10  
    11  	sess, err := session.NewAwsSessionWithoutOptions()
    12  	if err != nil {
    13  		return answer, err
    14  	}
    15  
    16  	svc := ec2.New(sess)
    17  	input := &ec2.DescribeAvailabilityZonesInput{}
    18  
    19  	result, err := svc.DescribeAvailabilityZones(input)
    20  	if err != nil {
    21  		return answer, err
    22  	}
    23  	for _, zone := range result.AvailabilityZones {
    24  		if zone != nil && zone.ZoneName != nil {
    25  			answer = append(answer, *zone.ZoneName)
    26  		}
    27  	}
    28  	return answer, nil
    29  }