ec2

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2020 License: MPL-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(session *session.Session, db *gorm.DB, log *zap.Logger,
	accountID string, region string) resource.ClientInterface

Types

type ByoipCidr

type ByoipCidr struct {
	ID            uint `gorm:"primarykey"`
	AccountID     string
	Region        string
	Cidr          *string
	Description   *string
	State         *string
	StatusMessage *string
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func (*Client) ByoipCidrs

func (c *Client) ByoipCidrs(gConfig interface{}) error

func (*Client) CollectResource

func (c *Client) CollectResource(resource string, config interface{}) error

func (*Client) CustomerGateways

func (c *Client) CustomerGateways(gConfig interface{}) error

func (*Client) Images

func (c *Client) Images(gConfig interface{}) error

func (*Client) Instances

func (c *Client) Instances(gConfig interface{}) error

func (*Client) InternetGateways

func (c *Client) InternetGateways(gConfig interface{}) error

func (*Client) NatGateways

func (c *Client) NatGateways(gConfig interface{}) error

func (*Client) NetworkAcls

func (c *Client) NetworkAcls(gConfig interface{}) error

func (*Client) RouteTables

func (c *Client) RouteTables(gConfig interface{}) error

func (*Client) SecurityGroups

func (c *Client) SecurityGroups(gConfig interface{}) error

type CustomerGateway

type CustomerGateway struct {
	ID                uint `gorm:"primarykey"`
	AccountID         string
	Region            string
	BgpAsn            *string
	CertificateArn    *string
	CustomerGatewayId *string
	DeviceName        *string
	IpAddress         *string
	State             *string
	Tags              []*CustomerGatewayTag `gorm:"constraint:OnDelete:CASCADE;"`
	Type              *string
}

type CustomerGatewayTag

type CustomerGatewayTag struct {
	ID                uint `gorm:"primarykey"`
	CustomerGatewayID uint
	Key               *string
	Value             *string
}

type Image

type Image struct {
	ID                  uint `gorm:"primarykey"`
	AccountID           string
	Region              string
	Architecture        *string
	BlockDeviceMappings []*ImageBlockDeviceMapping `gorm:"constraint:OnDelete:CASCADE;"`
	CreationDate        *string
	Description         *string
	EnaSupport          *bool
	Hypervisor          *string
	ImageId             *string
	ImageLocation       *string
	ImageOwnerAlias     *string
	ImageType           *string
	KernelId            *string
	Name                *string
	OwnerId             *string
	Platform            *string
	PlatformDetails     *string
	ProductCodes        []*ImageProductCode `gorm:"constraint:OnDelete:CASCADE;"`
	Public              *bool
	RamdiskId           *string
	RootDeviceName      *string
	RootDeviceType      *string
	SriovNetSupport     *string
	State               *string
	StateReason         *ec2.StateReason `gorm:"embedded;embeddedPrefix:state_reason_"`
	Tags                []*ImageTag      `gorm:"constraint:OnDelete:CASCADE;"`
	UsageOperation      *string
	VirtualizationType  *string
}

type ImageBlockDeviceMapping

type ImageBlockDeviceMapping struct {
	ID          uint `gorm:"primarykey"`
	ImageID     uint
	DeviceName  *string
	Ebs         *ec2.EbsBlockDevice `gorm:"embedded;embeddedPrefix:ebs_"`
	NoDevice    *string
	VirtualName *string
}

type ImageProductCode

type ImageProductCode struct {
	ID              uint `gorm:"primarykey"`
	ImageID         uint
	ProductCodeId   *string
	ProductCodeType *string
}

type ImageTag

type ImageTag struct {
	ID      uint `gorm:"primarykey"`
	ImageID uint
	Key     *string
	Value   *string
}

type Instance

type Instance struct {
	ID                                      uint `gorm:"primarykey"`
	AccountID                               string
	Region                                  string
	AmiLaunchIndex                          *int64
	Architecture                            *string
	BlockDeviceMappings                     []*InstanceBlockDeviceMapping `gorm:"constraint:OnDelete:CASCADE;"`
	CapacityReservationId                   *string
	CapacityReservationSpecification        *InstanceCapacityReservationSpecificationResponse `gorm:"constraint:OnDelete:CASCADE;"`
	ClientToken                             *string
	CpuOptions                              *ec2.CpuOptions `gorm:"embedded;embeddedPrefix:cpu_options_"`
	EbsOptimized                            *bool
	ElasticGpuAssociations                  []*InstanceElasticGpuAssociation                  `gorm:"constraint:OnDelete:CASCADE;"`
	ElasticInferenceAcceleratorAssociations []*InstanceElasticInferenceAcceleratorAssociation `gorm:"constraint:OnDelete:CASCADE;"`
	EnaSupport                              *bool
	HibernationOptions                      *ec2.HibernationOptions `gorm:"embedded;embeddedPrefix:hibernation_options_"`
	Hypervisor                              *string
	IamInstanceProfile                      *ec2.IamInstanceProfile `gorm:"embedded;embeddedPrefix:iam_instance_profile_"`
	ImageId                                 *string
	InstanceId                              *string
	InstanceLifecycle                       *string
	InstanceType                            *string
	KernelId                                *string
	KeyName                                 *string
	LaunchTime                              *time.Time
	Licenses                                []*InstanceLicenseConfiguration      `gorm:"constraint:OnDelete:CASCADE;"`
	MetadataOptions                         *ec2.InstanceMetadataOptionsResponse `gorm:"embedded;embeddedPrefix:metadata_options_"`
	Monitoring                              *ec2.Monitoring                      `gorm:"embedded;embeddedPrefix:monitoring_"`
	NetworkInterfaces                       []*InstanceNetworkInterface          `gorm:"constraint:OnDelete:CASCADE;"`
	OutpostArn                              *string
	Placement                               *ec2.Placement `gorm:"embedded;embeddedPrefix:placement_"`
	Platform                                *string
	PrivateDnsName                          *string
	PrivateIpAddress                        *string
	ProductCodes                            []*InstanceProductCode `gorm:"constraint:OnDelete:CASCADE;"`
	PublicDnsName                           *string
	PublicIpAddress                         *string
	RamdiskId                               *string
	RootDeviceName                          *string
	RootDeviceType                          *string
	SecurityGroups                          []*InstanceGroupIdentifier `gorm:"constraint:OnDelete:CASCADE;"`
	SourceDestCheck                         *bool
	SpotInstanceRequestId                   *string
	SriovNetSupport                         *string
	State                                   *ec2.InstanceState `gorm:"embedded;embeddedPrefix:state_"`
	StateReason                             *ec2.StateReason   `gorm:"embedded;embeddedPrefix:state_reason_"`
	StateTransitionReason                   *string
	SubnetId                                *string
	Tags                                    []*InstanceTag `gorm:"constraint:OnDelete:CASCADE;"`
	VirtualizationType                      *string
	VpcId                                   *string
}

type InstanceBlockDeviceMapping

type InstanceBlockDeviceMapping struct {
	ID         uint `gorm:"primarykey"`
	InstanceID uint
	DeviceName *string
	Ebs        *ec2.EbsInstanceBlockDevice `gorm:"embedded;embeddedPrefix:ebs_"`
}

type InstanceCapacityReservationSpecificationResponse

type InstanceCapacityReservationSpecificationResponse struct {
	ID                            uint `gorm:"primarykey"`
	InstanceID                    uint
	CapacityReservationPreference *string
	CapacityReservationTarget     *ec2.CapacityReservationTargetResponse `gorm:"embedded"`
}

type InstanceElasticGpuAssociation

type InstanceElasticGpuAssociation struct {
	ID                         uint `gorm:"primarykey"`
	InstanceID                 uint
	ElasticGpuAssociationId    *string
	ElasticGpuAssociationState *string
	ElasticGpuAssociationTime  *string
	ElasticGpuId               *string
}

type InstanceElasticInferenceAcceleratorAssociation

type InstanceElasticInferenceAcceleratorAssociation struct {
	ID                                          uint `gorm:"primarykey"`
	InstanceID                                  uint
	ElasticInferenceAcceleratorArn              *string
	ElasticInferenceAcceleratorAssociationId    *string
	ElasticInferenceAcceleratorAssociationState *string
	ElasticInferenceAcceleratorAssociationTime  *time.Time
}

type InstanceGroupIdentifier

type InstanceGroupIdentifier struct {
	ID         uint `gorm:"primarykey"`
	InstanceID uint
	GroupId    *string
	GroupName  *string
}

type InstanceIpv6Address

type InstanceIpv6Address struct {
	ID                         uint `gorm:"primarykey"`
	InstanceNetworkInterfaceID uint
	Ipv6Address                *string
}

type InstanceLicenseConfiguration

type InstanceLicenseConfiguration struct {
	ID                      uint `gorm:"primarykey"`
	InstanceID              uint
	LicenseConfigurationArn *string
}

type InstanceNetworkInterface

type InstanceNetworkInterface struct {
	ID                 uint `gorm:"primarykey"`
	InstanceID         uint
	Association        *ec2.InstanceNetworkInterfaceAssociation `gorm:"embedded;embeddedPrefix:association_"`
	Attachment         *ec2.InstanceNetworkInterfaceAttachment  `gorm:"embedded;embeddedPrefix:attachment_"`
	Description        *string
	InterfaceType      *string
	Ipv6Addresses      []*InstanceIpv6Address `gorm:"constraint:OnDelete:CASCADE;"`
	MacAddress         *string
	NetworkInterfaceId *string
	OwnerId            *string
	PrivateDnsName     *string
	PrivateIpAddress   *string
	PrivateIpAddresses []*InstancePrivateIpAddress `gorm:"constraint:OnDelete:CASCADE;"`
	SourceDestCheck    *bool
	Status             *string
	SubnetId           *string
	VpcId              *string
}

type InstancePrivateIpAddress

type InstancePrivateIpAddress struct {
	ID                         uint `gorm:"primarykey"`
	InstanceNetworkInterfaceID uint
	Association                *ec2.InstanceNetworkInterfaceAssociation `gorm:"embedded;embeddedPrefix:association_"`
	Primary                    *bool
	PrivateDnsName             *string
	PrivateIpAddress           *string
}

type InstanceProductCode

type InstanceProductCode struct {
	ID              uint `gorm:"primarykey"`
	InstanceID      uint
	ProductCodeId   *string
	ProductCodeType *string
}

type InstanceTag

type InstanceTag struct {
	ID         uint `gorm:"primarykey"`
	InstanceID uint
	Key        *string
	Value      *string
}

type InternetGateway

type InternetGateway struct {
	ID                uint `gorm:"primarykey"`
	AccountID         string
	Region            string
	Attachments       []*InternetGatewayAttachment `gorm:"constraint:OnDelete:CASCADE;"`
	InternetGatewayId *string
	OwnerId           *string
	Tags              []*InternetGatewayTag `gorm:"constraint:OnDelete:CASCADE;"`
}

type InternetGatewayAttachment

type InternetGatewayAttachment struct {
	ID                uint `gorm:"primarykey"`
	InternetGatewayID uint
	State             *string
	VpcId             *string
}

type InternetGatewayTag

type InternetGatewayTag struct {
	ID                uint `gorm:"primarykey"`
	InternetGatewayID uint
	Key               *string
	Value             *string
}

type NatGateway

type NatGateway struct {
	ID                   uint `gorm:"primarykey"`
	AccountID            string
	Region               string
	CreateTime           *time.Time
	DeleteTime           *time.Time
	FailureCode          *string
	FailureMessage       *string
	NatGatewayAddresses  []*NatGatewayAddress `gorm:"constraint:OnDelete:CASCADE;"`
	NatGatewayId         *string
	ProvisionedBandwidth *ec2.ProvisionedBandwidth `gorm:"embedded;embeddedPrefix:provisioned_bandwidth_"`
	State                *string
	SubnetId             *string
	Tags                 []*NatGatewayTag `gorm:"constraint:OnDelete:CASCADE;"`
	VpcId                *string
}

type NatGatewayAddress

type NatGatewayAddress struct {
	ID                 uint `gorm:"primarykey"`
	NatGatewayID       uint
	AllocationId       *string
	NetworkInterfaceId *string
	PrivateIp          *string
	PublicIp           *string
}

type NatGatewayTag

type NatGatewayTag struct {
	ID           uint `gorm:"primarykey"`
	NatGatewayID uint
	Key          *string
	Value        *string
}

type NetworkAcl

type NetworkAcl struct {
	ID           uint `gorm:"primarykey"`
	AccountID    string
	Region       string
	Associations []*NetworkAclAssociation `gorm:"constraint:OnDelete:CASCADE;"`
	Entries      []*NetworkAclEntry       `gorm:"constraint:OnDelete:CASCADE;"`
	IsDefault    *bool
	NetworkAclId *string
	OwnerId      *string
	Tags         []*NetworkAclTag `gorm:"constraint:OnDelete:CASCADE;"`
	VpcId        *string
}

type NetworkAclAssociation

type NetworkAclAssociation struct {
	ID                      uint `gorm:"primarykey"`
	NetworkAclID            uint
	NetworkAclAssociationId *string
	NetworkAclId            *string
	SubnetId                *string
}

type NetworkAclEntry

type NetworkAclEntry struct {
	ID            uint `gorm:"primarykey"`
	NetworkAclID  uint
	CidrBlock     *string
	Egress        *bool
	IcmpTypeCode  *ec2.IcmpTypeCode `gorm:"embedded;embeddedPrefix:icmp_type_code_"`
	Ipv6CidrBlock *string
	PortRange     *ec2.PortRange `gorm:"embedded;embeddedPrefix:port_range_"`
	Protocol      *string
	RuleAction    *string
	RuleNumber    *int64
}

type NetworkAclTag

type NetworkAclTag struct {
	ID           uint `gorm:"primarykey"`
	NetworkAclID uint
	Key          *string
	Value        *string
}

type RouteTable

type RouteTable struct {
	ID              uint `gorm:"primarykey"`
	AccountID       string
	Region          string
	Associations    []*RouteTableAssociation `gorm:"constraint:OnDelete:CASCADE;"`
	OwnerId         *string
	PropagatingVgws []*RouteTablePropagatingVgw `gorm:"constraint:OnDelete:CASCADE;"`
	RouteTableId    *string
	Routes          []*RouteTableRoute `gorm:"constraint:OnDelete:CASCADE;"`
	Tags            []*RouteTableTag   `gorm:"constraint:OnDelete:CASCADE;"`
	VpcId           *string
}

type RouteTableAssociation

type RouteTableAssociation struct {
	ID                      uint `gorm:"primarykey"`
	RouteTableID            uint
	AssociationState        *ec2.RouteTableAssociationState `gorm:"embedded;embeddedPrefix:association_state_"`
	GatewayId               *string
	Main                    *bool
	RouteTableAssociationId *string
	RouteTableId            *string
	SubnetId                *string
}

type RouteTablePropagatingVgw

type RouteTablePropagatingVgw struct {
	ID           uint `gorm:"primarykey"`
	RouteTableID uint
	GatewayId    *string
}

type RouteTableRoute

type RouteTableRoute struct {
	ID                          uint `gorm:"primarykey"`
	RouteTableID                uint
	CarrierGatewayId            *string
	DestinationCidrBlock        *string
	DestinationIpv6CidrBlock    *string
	DestinationPrefixListId     *string
	EgressOnlyInternetGatewayId *string
	GatewayId                   *string
	InstanceId                  *string
	InstanceOwnerId             *string
	LocalGatewayId              *string
	NatGatewayId                *string
	NetworkInterfaceId          *string
	Origin                      *string
	State                       *string
	TransitGatewayId            *string
	VpcPeeringConnectionId      *string
}

type RouteTableTag

type RouteTableTag struct {
	ID           uint `gorm:"primarykey"`
	RouteTableID uint
	Key          *string
	Value        *string
}

type SecurityGroup

type SecurityGroup struct {
	ID            uint `gorm:"primarykey"`
	AccountID     string
	Region        string
	Description   *string
	GroupId       *string
	GroupName     *string
	IpPermissions []*SecurityGroupIpPermission `gorm:"constraint:OnDelete:CASCADE;"`
	OwnerId       *string
	Tags          []*SecurityGroupTag `gorm:"constraint:OnDelete:CASCADE;"`
	VpcId         *string
}

type SecurityGroupIpPermission

type SecurityGroupIpPermission struct {
	ID               uint `gorm:"primarykey"`
	SecurityGroupID  uint
	FromPort         *int64
	IpProtocol       *string
	IpRanges         []*SecurityGroupIpRange      `gorm:"constraint:OnDelete:CASCADE;"`
	Ipv6Ranges       []*SecurityGroupIpv6Range    `gorm:"constraint:OnDelete:CASCADE;"`
	PrefixListIds    []*SecurityGroupPrefixListId `gorm:"constraint:OnDelete:CASCADE;"`
	ToPort           *int64
	UserIdGroupPairs []*SecurityGroupUserIdGroupPair `gorm:"constraint:OnDelete:CASCADE;"`
}

type SecurityGroupIpRange

type SecurityGroupIpRange struct {
	ID                          uint `gorm:"primarykey"`
	SecurityGroupIpPermissionID uint
	CidrIp                      *string
	Description                 *string
}

type SecurityGroupIpv6Range

type SecurityGroupIpv6Range struct {
	ID                          uint `gorm:"primarykey"`
	SecurityGroupIpPermissionID uint
	CidrIpv6                    *string
	Description                 *string
}

type SecurityGroupPrefixListId

type SecurityGroupPrefixListId struct {
	ID                          uint `gorm:"primarykey"`
	SecurityGroupIpPermissionID uint
	Description                 *string
	PrefixListId                *string
}

type SecurityGroupTag

type SecurityGroupTag struct {
	ID              uint `gorm:"primarykey"`
	SecurityGroupID uint
	Key             *string
	Value           *string
}

type SecurityGroupUserIdGroupPair

type SecurityGroupUserIdGroupPair struct {
	ID                          uint `gorm:"primarykey"`
	SecurityGroupIpPermissionID uint
	Description                 *string
	GroupId                     *string
	GroupName                   *string
	PeeringStatus               *string
	UserId                      *string
	VpcId                       *string
	VpcPeeringConnectionId      *string
}

Jump to

Keyboard shortcuts

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