github.com/almamedia/fargate@v0.2.4-0.20220704071213-7b5b3d27c5eb/ec2/main.go (about) 1 package ec2 2 3 //go:generate mockgen -package client -destination=mock/client/client.go github.com/almamedia/fargate/ec2 Client 4 //go:generate mockgen -package sdk -source ../vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go -destination=mock/sdk/ec2iface.go github.com/aws/aws-sdk-go/service/ec2/ec2iface EC2API 5 6 import ( 7 "github.com/aws/aws-sdk-go/aws/session" 8 "github.com/aws/aws-sdk-go/service/ec2" 9 "github.com/aws/aws-sdk-go/service/ec2/ec2iface" 10 ) 11 12 // Client represents a method for accessing EC2. 13 type Client interface { 14 AuthorizeAllSecurityGroupIngress(string) error 15 CreateDefaultSecurityGroup() (string, error) 16 GetDefaultSecurityGroupID() (string, error) 17 GetDefaultSubnetIDs() ([]string, error) 18 GetSubnetVPCID(string) (string, error) 19 } 20 21 // SDKClient implements access to EC2 via the AWS SDK. 22 type SDKClient struct { 23 client ec2iface.EC2API 24 } 25 26 // New returns an SDKClient configured with the given session. 27 func New(sess *session.Session) SDKClient { 28 return SDKClient{ 29 client: ec2.New(sess), 30 } 31 }