ec2

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Ingress flowDirection = iota
	Egress
)

Variables

This section is empty.

Functions

func CreateDescribeImagesInput

func CreateDescribeImagesInput(ids, names []string, filters []types.Filter, defaultFilter bool) *ec2.DescribeImagesInput

func CreateDescribeInstancesInput

func CreateDescribeInstancesInput(ids, names []string, filters []types.Filter, defaultFilter bool) *ec2.DescribeInstancesInput

func CreateDescribeRouteTablesInput

func CreateDescribeRouteTablesInput(ids, names []string, filters []types.Filter, defaultFilter bool) *ec2.DescribeRouteTablesInput

func CreateDescribeSecurityGroupsInput

func CreateDescribeSecurityGroupsInput(ids, names []string, filters []types.Filter, _ bool) *ec2.DescribeSecurityGroupsInput

func CreateDescribeSubnetsInput

func CreateDescribeSubnetsInput(ids, names []string, filters []types.Filter, defaultFilter bool) *ec2.DescribeSubnetsInput

func CreateDescribeVpcsInput

func CreateDescribeVpcsInput(ids, names []string, filters []types.Filter, defaultFilter bool) *ec2.DescribeVpcsInput

func FetchDataForImageBackupInfo

func FetchDataForImageBackupInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Snapshot, map[string]types.Volume, error)

func FetchDataForInstanceBackupInfo

func FetchDataForInstanceBackupInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Image, map[string]types.Snapshot, map[string]types.Volume, error)

func FetchDataForInstanceLoadBalancerInfo

func FetchDataForInstanceLoadBalancerInfo(ctx context.Context, l *rate.Limiter, cfg *aws.Config, region string, ids, names []string) ([]string, map[string][]string, map[string][]string, error)

func FetchDataForInstanceRouteInfo

func FetchDataForInstanceRouteInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Vpc, map[string]types.Subnet, map[string]types.RouteTable, error)

func FetchDataForInstanceSecurityGroupInfo

func FetchDataForInstanceSecurityGroupInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.SecurityGroup, map[string]types.Vpc, map[string]types.PrefixList, map[string]types.ManagedPrefixList, error)

func FetchDataForRouteTableAssociationInfo

func FetchDataForRouteTableAssociationInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Vpc, map[string]types.Subnet, error)

func FetchDataForSecurityGroupPermissionsInfo

func FetchDataForSecurityGroupPermissionsInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Vpc, map[string]types.PrefixList, map[string]types.ManagedPrefixList, error)

func FetchDataForSubnetRouteInfo

func FetchDataForSubnetRouteInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, region string) (map[string]types.Vpc, map[string]types.RouteTable, error)

func GetImageBackupInfo

func GetImageBackupInfo(ich chan<- ImageBackupInfo, images []types.Image, region string, snps map[string]types.Snapshot, vols map[string]types.Volume)

func GetImageInfo

func GetImageInfo(ich chan<- ImageInfo, images []types.Image, region string)

func GetInstanceBackupInfo

func GetInstanceBackupInfo(ich chan InstanceBackupInfo, reservations []types.Reservation, imgs map[string]types.Image, snps map[string]types.Snapshot, vols map[string]types.Volume)

func GetInstanceInfo

func GetInstanceInfo(ich chan<- InstanceInfo, reservations []types.Reservation)

func GetInstanceLoadBalancerInfo

func GetInstanceLoadBalancerInfo(ich chan<- InstanceLoadBalancerInfo, reservations []types.Reservation, idmv1, idmv2 map[string][]string) error

func GetInstanceRouteInfo

func GetInstanceRouteInfo(ich chan<- InstanceRouteInfo, reservations []types.Reservation, region string, vpcs map[string]types.Vpc, sbns map[string]types.Subnet, rtbs map[string]types.RouteTable) error

func GetInstanceSecurityGroupInfo

func GetInstanceSecurityGroupInfo(ich chan<- InstanceSecurityGroupInfo, reservations []types.Reservation, region string, segs map[string]types.SecurityGroup, vpcs map[string]types.Vpc, upls map[string]types.PrefixList, mpls map[string]types.ManagedPrefixList) error

func GetInstanceStorageInfo

func GetInstanceStorageInfo(ich chan<- InstanceStorageInfo, reservations []types.Reservation, vols map[string]types.Volume)

func GetRouteTableAssociationInfo

func GetRouteTableAssociationInfo(ich chan<- RouteTableAssociationInfo, rtbs []types.RouteTable, region string, vpcs map[string]types.Vpc, sbns map[string]types.Subnet) error

func GetRouteTableInfo

func GetRouteTableInfo(ich chan<- RouteTableInfo, rtbs []types.RouteTable, region string, vpcs map[string]types.Vpc) error

func GetSecurityGroupInfo

func GetSecurityGroupInfo(ich chan<- SecurityGroupInfo, sgs []types.SecurityGroup, region string, vpcs map[string]types.Vpc) error

func GetSecurityGroupPermissionsInfo

func GetSecurityGroupPermissionsInfo(ich chan<- SecurityGroupPermissionsInfo, sgs []types.SecurityGroup, region string, vpcs map[string]types.Vpc, upls map[string]types.PrefixList, mpls map[string]types.ManagedPrefixList) error

func GetSubnetInfo

func GetSubnetInfo(ich chan<- SubnetInfo, subnets []types.Subnet, region string, vpcs map[string]types.Vpc) error

func GetSubnetRouteInfo

func GetSubnetRouteInfo(ich chan<- SubnetRouteInfo, subnets []types.Subnet, region string, vpcs map[string]types.Vpc, rtbs map[string]types.RouteTable) error

func GetVpcAttributeInfo

func GetVpcAttributeInfo(ctx context.Context, l *rate.Limiter, client IEc2Client, ich chan<- VpcAttributeInfo, vpcs []types.Vpc, region string, dopts map[string]types.DhcpOptions) error

func GetVpcCidrInfo

func GetVpcCidrInfo(ich chan<- VpcCidrInfo, vpcs []types.Vpc, region string, dopts map[string]types.DhcpOptions) error

func GetVpcInfo

func GetVpcInfo(ich chan<- VpcInfo, vpcs []types.Vpc, region string, dopts map[string]types.DhcpOptions) error

func ParseEc2Filters

func ParseEc2Filters(s string) ([]types.Filter, error)

Types

type Ec2Client

type Ec2Client struct {
	*ec2.Client
}

func NewEc2Client

func NewEc2Client(cfg *aws.Config) *Ec2Client

func (*Ec2Client) FetchDhcpOptions

func (client *Ec2Client) FetchDhcpOptions(ctx context.Context, region string) (map[string]types.DhcpOptions, error)

func (*Ec2Client) FetchImages

func (client *Ec2Client) FetchImages(ctx context.Context, region string) (map[string]types.Image, error)

func (*Ec2Client) FetchManagedPrefixLists

func (client *Ec2Client) FetchManagedPrefixLists(ctx context.Context, region string) (map[string]types.ManagedPrefixList, error)

func (*Ec2Client) FetchPrefixLists

func (client *Ec2Client) FetchPrefixLists(ctx context.Context, region string) (map[string]types.PrefixList, error)

func (*Ec2Client) FetchRouteTables

func (client *Ec2Client) FetchRouteTables(ctx context.Context, region string) (map[string]types.RouteTable, error)

func (*Ec2Client) FetchSecurityGroups

func (client *Ec2Client) FetchSecurityGroups(ctx context.Context, region string) (map[string]types.SecurityGroup, error)

func (*Ec2Client) FetchSnapshots

func (client *Ec2Client) FetchSnapshots(ctx context.Context, region string) (map[string]types.Snapshot, error)

func (*Ec2Client) FetchSubnets

func (client *Ec2Client) FetchSubnets(ctx context.Context, region string) (map[string]types.Subnet, error)

func (*Ec2Client) FetchVolumes

func (client *Ec2Client) FetchVolumes(ctx context.Context, region string) (map[string]types.Volume, error)

func (*Ec2Client) FetchVpcs

func (client *Ec2Client) FetchVpcs(ctx context.Context, region string) (map[string]types.Vpc, error)

func (*Ec2Client) GetVpcDnsHostnames

func (client *Ec2Client) GetVpcDnsHostnames(ctx context.Context, region string, id *string) (bool, error)

func (*Ec2Client) GetVpcDnsSupport

func (client *Ec2Client) GetVpcDnsSupport(ctx context.Context, region string, id *string) (bool, error)

type IEc2Client

type IEc2Client interface {
	DescribeInstances(ctx context.Context, params *ec2.DescribeInstancesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
	DescribeImages(ctx context.Context, params *ec2.DescribeImagesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeImagesOutput, error)
	DescribeSecurityGroups(ctx context.Context, params *ec2.DescribeSecurityGroupsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSecurityGroupsOutput, error)
	DescribeVpcs(ctx context.Context, params *ec2.DescribeVpcsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcsOutput, error)
	DescribeSubnets(ctx context.Context, params *ec2.DescribeSubnetsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
	DescribeRouteTables(ctx context.Context, params *ec2.DescribeRouteTablesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeRouteTablesOutput, error)

	FetchImages(ctx context.Context, region string) (map[string]types.Image, error)
	FetchSnapshots(ctx context.Context, region string) (map[string]types.Snapshot, error)
	FetchVolumes(ctx context.Context, region string) (map[string]types.Volume, error)
	FetchSecurityGroups(ctx context.Context, region string) (map[string]types.SecurityGroup, error)
	FetchVpcs(ctx context.Context, region string) (map[string]types.Vpc, error)
	FetchSubnets(ctx context.Context, region string) (map[string]types.Subnet, error)
	FetchRouteTables(ctx context.Context, region string) (map[string]types.RouteTable, error)
	FetchPrefixLists(ctx context.Context, region string) (map[string]types.PrefixList, error)
	FetchManagedPrefixLists(ctx context.Context, region string) (map[string]types.ManagedPrefixList, error)
	FetchDhcpOptions(ctx context.Context, region string) (map[string]types.DhcpOptions, error)
	GetVpcDnsSupport(ctx context.Context, region string, id *string) (bool, error)
	GetVpcDnsHostnames(ctx context.Context, region string, id *string) (bool, error)
}

type ImageBackupInfo

type ImageBackupInfo struct {
	ImageId             string
	ImageName           string
	ImageOwner          string
	DeleteOnTermination bool
	SnapshotId          string
	SnapshotName        string
	VolumeId            string
	VolumeName          string
	Region              string
}

func DescribeImageBackupInfo

func DescribeImageBackupInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]ImageBackupInfo, error)

type ImageInfo

type ImageInfo struct {
	ImageId      string
	ImageName    string
	ImageOwner   string
	CreationDate string
	Architecture types.ArchitectureType
	PlatForm     string
	EnaSupport   bool
	Public       bool
	State        types.State
	Region       string
}

func DescribeImageInfo

func DescribeImageInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]ImageInfo, error)

type InstanceBackupInfo

type InstanceBackupInfo struct {
	InstanceId          string
	InstanceName        string
	ImageId             string
	ImageName           string
	ImageOwner          string
	DeleteOnTermination bool
	VolumeId            string
	VolumeName          string
	SnapshotId          string
	SnapshotName        string
	AvailabilityZone    string
}

func DescribeInstanceBackupInfo

func DescribeInstanceBackupInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceBackupInfo, error)

type InstanceInfo

type InstanceInfo struct {
	InstanceId       string
	InstanceName     string
	InstanceType     types.InstanceType
	PrivateIpAddress string
	PublicIpAddress  string
	Platform         string
	State            types.InstanceStateName
	AvailabilityZone string
}

func DescribeInstanceInfo

func DescribeInstanceInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceInfo, error)

type InstanceLoadBalancerInfo

type InstanceLoadBalancerInfo struct {
	InstanceId       string
	InstanceName     string
	AvailabilityZone string
	AttachedLB       []string
	AttachedTG       []string
}

func DescribeInstanceLoadBalancerInfo

func DescribeInstanceLoadBalancerInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceLoadBalancerInfo, error)

type InstanceRouteInfo

type InstanceRouteInfo struct {
	InstanceId       string
	InstanceName     string
	VpcId            string
	VpcName          string
	SubnetId         string
	SubnetName       string
	AvailabilityZone string
	RouteTableId     string
	RouteTableName   string
	DestinationType  string
	Destination      string
	TargetType       string
	Target           string
	Region           string
}

func DescribeInstanceRouteInfo

func DescribeInstanceRouteInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceRouteInfo, error)

type InstanceSecurityGroupInfo

type InstanceSecurityGroupInfo struct {
	InstanceId        string
	InstanceName      string
	VpcId             string
	VpcName           string
	SecurityGroupId   string
	SecurityGroupName string
	FlowDirection     string
	IpProtocol        string
	FromPort          int32
	ToPort            int32
	AddressType       string
	CidrBlock         string
	AvailabilityZone  string
}

func DescribeInstanceSecurityGroupInfo

func DescribeInstanceSecurityGroupInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceSecurityGroupInfo, error)

type InstanceStorageInfo

type InstanceStorageInfo struct {
	InstanceId          string
	InstanceName        string
	DeviceName          string
	DeleteOnTermination bool
	VolumeId            string
	VolumeName          string
	VolumeType          types.VolumeType
	VolumeSize          int32
	IOPS                int32
	Encrypted           bool
	AvailabilityZone    string
}

func DescribeInstanceStorageInfo

func DescribeInstanceStorageInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]InstanceStorageInfo, error)

type RouteTableAssociationInfo

type RouteTableAssociationInfo struct {
	RouteTableId   string
	RouteTableName string
	VpcId          string
	VpcName        string
	Main           bool
	SubnetId       string
	SubnetName     string
	State          types.RouteTableAssociationStateCode
	Region         string
}

func DescribeRouteTableAssociationInfo

func DescribeRouteTableAssociationInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]RouteTableAssociationInfo, error)

type RouteTableInfo

type RouteTableInfo struct {
	RouteTableId    string
	RouteTableName  string
	VpcId           string
	VpcName         string
	DestinationType string
	Destination     string
	TargetType      string
	Target          string
	State           types.RouteState
	Region          string
}

func DescribeRouteTableInfo

func DescribeRouteTableInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]RouteTableInfo, error)

type SecurityGroupInfo

type SecurityGroupInfo struct {
	SecurityGroupId   string
	SecurityGroupName string
	VpcId             string
	VpcName           string
	Region            string
}

func DescribeSecurityGroupInfo

func DescribeSecurityGroupInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]SecurityGroupInfo, error)

type SecurityGroupPermissionsInfo

type SecurityGroupPermissionsInfo struct {
	SecurityGroupId   string
	SecurityGroupName string
	VpcId             string
	VpcName           string
	FlowDirection     string
	IpProtocol        string
	FromPort          int32
	ToPort            int32
	AddressType       string
	CidrBlock         string
	Region            string
}

func DescribeSecurityGroupPermissionsInfo

func DescribeSecurityGroupPermissionsInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]SecurityGroupPermissionsInfo, error)

type SubnetInfo

type SubnetInfo struct {
	SubnetId                string
	SubnetName              string
	AvailabilityZone        string
	AvailableIpAddressCount int32
	DefaultForAz            bool
	State                   types.SubnetState
	VpcId                   string
	VpcName                 string
	AddressType             string
	CidrBlock               string
	Region                  string
}

func DescribeSubnetInfo

func DescribeSubnetInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]SubnetInfo, error)

type SubnetRouteInfo

type SubnetRouteInfo struct {
	SubnetId         string
	SubnetName       string
	AvailabilityZone string
	VpcId            string
	VpcName          string
	RouteTableId     string
	RouteTableName   string
	DestinationType  string
	Destination      string
	TargetType       string
	Target           string
	Region           string
}

func DescribeSubnetRouteInfo

func DescribeSubnetRouteInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]SubnetRouteInfo, error)

type VpcAttributeInfo

type VpcAttributeInfo struct {
	VpcId              string
	VpcName            string
	EnableDnsSupport   bool
	EnableDnsHostnames bool
	DhcpOptionsId      string
	DhcpOptionsName    string
	IsDefault          bool
	InstanceTenancy    types.Tenancy
	OwnerId            string
	Region             string
}

func DescribeVpcAttributeInfo

func DescribeVpcAttributeInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]VpcAttributeInfo, error)

type VpcCidrInfo

type VpcCidrInfo struct {
	VpcId              string
	VpcName            string
	DhcpOptionsId      string
	DhcpOptionsName    string
	IsDefault          bool
	InstanceTenancy    types.Tenancy
	OwnerId            string
	State              types.VpcState
	AddressType        string
	CidrBlock          string
	NetworkBorderGroup string
	Pool               string
	Region             string
}

func DescribeVpcCidrInfo

func DescribeVpcCidrInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]VpcCidrInfo, error)

type VpcInfo

type VpcInfo struct {
	VpcId           string
	VpcName         string
	DhcpOptionsId   string
	DhcpOptionsName string
	IsDefault       bool
	InstanceTenancy types.Tenancy
	OwnerId         string
	Region          string
}

func DescribeVpcInfo

func DescribeVpcInfo(ctx context.Context, cfg *aws.Config, regions []string, ids, names []string, filters []types.Filter, defaultFilter bool) ([]VpcInfo, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL