autoscaling

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 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 Client

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

func (*Client) CollectResource

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

func (*Client) LaunchConfigurations

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

type LaunchConfiguration

type LaunchConfiguration struct {
	ID uint `gorm:"primarykey"`

	// AWS account id
	AccountID string

	// AWS region of the launch configuration
	Region string

	// For Auto Scaling groups that are running in a VPC, specifies whether to assign
	// a public IP address to the group's instances.
	AssociatePublicIpAddress *bool

	// A block device mapping, which specifies the block devices for the instance.
	BlockDeviceMappings []*LaunchConfigurationBlockDeviceMapping `gorm:"constraint:OnDelete:CASCADE;"`

	// The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
	ClassicLinkVPCId *string

	// The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId.
	ClassicLinkVPCSecurityGroups *string

	// The creation date and time for the launch configuration.
	CreatedTime *time.Time

	// Specifies whether the launch configuration is optimized for EBS I/O (true)
	// or not (false).
	EbsOptimized *bool

	// The name or the Amazon Resource Name (ARN) of the instance profile associated
	// with the IAM role for the instance. The instance profile contains the IAM
	// role.
	IamInstanceProfile *string

	// The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.
	ImageId *string

	// Controls whether instances in this group are launched with detailed (true)
	// or basic (false) monitoring.
	InstanceMonitoring *autoscaling.InstanceMonitoring `gorm:"embedded;embeddedPrefix:instance_monitoring_"`

	// The instance type for the instances.
	InstanceType *string

	// The ID of the kernel associated with the AMI.
	KernelId *string

	// The name of the key pair.
	KeyName *string

	// The Amazon Resource Name (ARN) of the launch configuration.
	LaunchConfigurationARN *string

	// The name of the launch configuration.
	LaunchConfigurationName *string

	// The metadata options for the instances. For more information, see Instance
	MetadataOptions *autoscaling.InstanceMetadataOptions `gorm:"embedded;embeddedPrefix:metadata_options_"`

	// The tenancy of the instance, either default or dedicated. An instance with
	// dedicated tenancy runs on isolated, single-tenant hardware and can only be
	// launched into a VPC.
	PlacementTenancy *string

	// The ID of the RAM disk associated with the AMI.
	RamdiskId *string

	// A list that contains the security groups to assign to the instances in the
	// Auto Scaling group.
	SecurityGroups *string

	// The maximum hourly price to be paid for any Spot Instance launched to fulfill
	// the request. Spot Instances are launched when the price you specify exceeds
	// the current Spot price.
	SpotPrice *string

	// The Base64-encoded user data to make available to the launched EC2 instances.
	UserData *string
}

type LaunchConfigurationBlockDeviceMapping

type LaunchConfigurationBlockDeviceMapping struct {
	ID                    uint `gorm:"primarykey"`
	LaunchConfigurationID uint

	// The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
	// For more information, see Device Naming on Linux Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)
	// in the Amazon EC2 User Guide for Linux Instances.
	DeviceName *string

	// Parameters used to automatically set up EBS volumes when an instance is launched.
	Ebs *autoscaling.Ebs `gorm:"embedded;embeddedPrefix:ebs_"`

	// If NoDevice is true for the root device, instances might fail the EC2 health
	// check. In that case, Amazon EC2 Auto Scaling launches replacement instances.
	NoDevice *bool

	// The name of the virtual device (for example, ephemeral0).
	VirtualName *string
}

Jump to

Keyboard shortcuts

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