autoscaling

package
v0.0.0-...-b210360 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2024 License: LGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Activity

type Activity struct {
	ActivityId           string    `xml:"ActivityId"`
	AutoScalingGroupName string    `xml:"AutoScalingGroupName"`
	Cause                string    `xml:"Cause"`
	Description          string    `xml:"Description"`
	Details              string    `xml:"Details"`
	EndTime              time.Time `xml:"EndTime"`
	Progress             int       `xml:"Progress"`
	StartTime            time.Time `xml:"StartTime"`
	StatusCode           string    `xml:"StatusCode"`
	StatusMessage        string    `xml:"StatusMessage"`
}

Activity encapsulates the Activity data type

See http://goo.gl/fRaVi1 for more details

type AdjustmentType

type AdjustmentType struct {
	AdjustmentType string //Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
}

AdjustmentType specifies whether the PutScalingPolicy ScalingAdjustment parameter is an absolute number or a percentage of the current capacity.

See http://goo.gl/tCFqeL for more details

type Alarm

type Alarm struct {
	AlarmARN  string `xml:"AlarmARN"`
	AlarmName string `xml:"AlarmName"`
}

Alarm encapsulates the Alarm data type.

See http://goo.gl/Q0uPAB for more details

type AutoScaling

type AutoScaling struct {
	aws.Auth
	aws.Region
}

AutoScaling contains the details of the AWS region to perform operations against.

func New

func New(auth aws.Auth, region aws.Region) *AutoScaling

New creates a new AutoScaling Client.

func (*AutoScaling) AttachInstances

func (as *AutoScaling) AttachInstances(name string, instanceIds []string) (resp *SimpleResp, err error)

AttachInstances Attach running instances to an autoscaling group

See http://goo.gl/zDZbuQ for more details.

func (*AutoScaling) CompleteLifecycleAction

func (as *AutoScaling) CompleteLifecycleAction(options *CompleteLifecycleActionParams) (
	resp *SimpleResp, err error)

CompleteLifecycleAction completes the lifecycle action for the associated token initiated under the given lifecycle hook with the specified result.

Part of the basic sequence for adding a lifecycle hook to an Auto Scaling group: 1) Create a notification target (SQS queue || SNS Topic) 2) Create an IAM role to allow the ASG topublish lifecycle notifications to the designated SQS queue or SNS topic 3) Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate 4) If necessary, record the lifecycle action heartbeat to keep the instance in a pending state 5) ***Complete the lifecycle action***

See http://goo.gl/k4fl0p for more details

func (*AutoScaling) CreateAutoScalingGroup

func (as *AutoScaling) CreateAutoScalingGroup(options *CreateAutoScalingGroupParams) (
	resp *SimpleResp, err error)

CreateAutoScalingGroup creates an Auto Scaling Group on AWS

Required params: AutoScalingGroupName, MinSize, MaxSize

See http://goo.gl/3S13Bv for more details.

func (*AutoScaling) CreateLaunchConfiguration

func (as *AutoScaling) CreateLaunchConfiguration(lc *LaunchConfiguration) (
	resp *SimpleResp, err error)

CreateLaunchConfiguration creates a launch configuration

Required params: AutoScalingGroupName, MinSize, MaxSize

See http://goo.gl/8e0BSF for more details.

func (*AutoScaling) CreateOrUpdateTags

func (as *AutoScaling) CreateOrUpdateTags(tags []Tag) (resp *SimpleResp, err error)

CreateOrUpdateTags creates or updates Auto Scaling Group Tags

See http://goo.gl/e1UIXb for more details.

func (*AutoScaling) DeleteAutoScalingGroup

func (as *AutoScaling) DeleteAutoScalingGroup(asgName string, forceDelete bool) (
	resp *SimpleResp, err error)

DeleteAutoScalingGroup deletes an Auto Scaling Group

See http://goo.gl/us7VSffor for more details.

func (*AutoScaling) DeleteLaunchConfiguration

func (as *AutoScaling) DeleteLaunchConfiguration(name string) (resp *SimpleResp, err error)

DeleteLaunchConfiguration deletes a Launch Configuration

See http://goo.gl/xksfyR for more details.

func (*AutoScaling) DeleteLifecycleHook

func (as *AutoScaling) DeleteLifecycleHook(asgName, lifecycleHookName string) (resp *SimpleResp, err error)

DeleteLifecycleHook eletes the specified lifecycle hook. If there are any outstanding lifecycle actions, they are completed first

See http://goo.gl/MwX1vG for more details.

func (*AutoScaling) DeleteNotificationConfiguration

func (as *AutoScaling) DeleteNotificationConfiguration(asgName string, topicARN string) (
	resp *SimpleResp, err error)

DeleteNotificationConfiguration deletes notifications created by PutNotificationConfiguration.

See http://goo.gl/jTqoYz for more details

func (*AutoScaling) DeletePolicy

func (as *AutoScaling) DeletePolicy(asgName string, policyName string) (resp *SimpleResp, err error)

DeletePolicy deletes a policy created by PutScalingPolicy.

policyName might be the policy name or ARN

See http://goo.gl/aOQPH2 for more details

func (*AutoScaling) DeleteScheduledAction

func (as *AutoScaling) DeleteScheduledAction(asgName string, scheduledActionName string) (resp *SimpleResp, err error)

DeleteScheduledAction deletes a scheduled action previously created using the PutScheduledUpdateGroupAction.

See http://goo.gl/Zss9CH for more details

func (*AutoScaling) DeleteTags

func (as *AutoScaling) DeleteTags(tags []Tag) (resp *SimpleResp, err error)

DeleteTags deletes autoscaling group tags

See http://goo.gl/o8HzAk for more details.

func (*AutoScaling) DescribeAccountLimits

func (as *AutoScaling) DescribeAccountLimits() (resp *DescribeAccountLimitsResp, err error)

DescribeAccountLimits - Returns the limits for the Auto Scaling resources currently allowed for your AWS account.

See http://goo.gl/tKsMN0 for more details.

func (*AutoScaling) DescribeAdjustmentTypes

func (as *AutoScaling) DescribeAdjustmentTypes() (resp *DescribeAdjustmentTypesResp, err error)

DescribeAdjustmentTypes returns policy adjustment types for use in the PutScalingPolicy action.

See http://goo.gl/hGx3Pc for more details.

func (*AutoScaling) DescribeAutoScalingGroups

func (as *AutoScaling) DescribeAutoScalingGroups(names []string, maxRecords int, nextToken string) (
	resp *DescribeAutoScalingGroupsResp, err error)

DescribeAutoScalingGroups returns a full description of each Auto Scaling group in the given list If no autoscaling groups are provided, returns the details of all autoscaling groups Supports pagination by using the returned "NextToken" parameter for subsequent calls

See http://goo.gl/nW74Ut for more details.

func (*AutoScaling) DescribeAutoScalingInstances

func (as *AutoScaling) DescribeAutoScalingInstances(ids []string, maxRecords int, nextToken string) (
	resp *DescribeAutoScalingInstancesResp, err error)

DescribeAutoScalingInstances returns a description of each Auto Scaling instance in the InstanceIds list. If a list is not provided, the service returns the full details of all instances up to a maximum of 50 By default, the service returns a list of 20 items. Supports pagination by using the returned "NextToken" parameter for subsequent calls

See http://goo.gl/ckzORt for more details.

func (*AutoScaling) DescribeAutoScalingNotificationTypes

func (as *AutoScaling) DescribeAutoScalingNotificationTypes() (resp *DescribeAutoScalingNotificationTypesResp, err error)

DescribeAutoScalingNotificationTypes returns a list of all notification types that are supported by Auto Scaling

See http://goo.gl/pmLIoE for more details.

func (*AutoScaling) DescribeLaunchConfigurations

func (as *AutoScaling) DescribeLaunchConfigurations(names []string, maxRecords int, nextToken string) (
	resp *DescribeLaunchConfigurationsResp, err error)

DescribeLaunchConfigurations returns details about the launch configurations supplied in the list. If the list is nil, information is returned about all launch configurations in the region.

See http://goo.gl/y31YYE for more details.

func (*AutoScaling) DescribeLifecycleHookTypes

func (as *AutoScaling) DescribeLifecycleHookTypes() (
	resp *DescribeLifecycleHookTypesResult, err error)

DescribeLifecycleHookTypes describes the available types of lifecycle hooks

See http://goo.gl/E9IBtY for more information

func (*AutoScaling) DescribeLifecycleHooks

func (as *AutoScaling) DescribeLifecycleHooks(asgName string, hookNames []string) (
	resp *DescribeLifecycleHooksResult, err error)

DescribeLifecycleHooks describes the lifecycle hooks that currently belong to the specified Auto Scaling group

See http://goo.gl/wQkWiz for more information

func (*AutoScaling) DescribeMetricCollectionTypes

func (as *AutoScaling) DescribeMetricCollectionTypes() (resp *DescribeMetricCollectionTypesResp, err error)

DescribeMetricCollectionTypes returns a list of metrics and a corresponding list of granularities for each metric

See http://goo.gl/UyYc3i for more details.

func (*AutoScaling) DescribeNotificationConfigurations

func (as *AutoScaling) DescribeNotificationConfigurations(asgNames []string, maxRecords int, nextToken string) (
	resp *DescribeNotificationConfigurationsResp, err error)

DescribeNotificationConfigurations returns a list of notification actions associated with Auto Scaling groups for specified events. Supports pagination by using the returned "NextToken" parameter for subsequent calls

http://goo.gl/qiAH31 for more details.

func (*AutoScaling) DescribePolicies

func (as *AutoScaling) DescribePolicies(asgName string, policyNames []string, maxRecords int, nextToken string) (
	resp *DescribePoliciesResp, err error)

DescribePolicies returns descriptions of what each policy does. Supports pagination by using the returned "NextToken" parameter for subsequent calls

http://goo.gl/bN7A9Tfor more details.

func (*AutoScaling) DescribeScalingActivities

func (as *AutoScaling) DescribeScalingActivities(asgName string, activityIds []string, maxRecords int, nextToken string) (
	resp *DescribeScalingActivitiesResp, err error)

DescribeScalingActivities returns the scaling activities for the specified Auto Scaling group. Supports pagination by using the returned "NextToken" parameter for subsequent calls

http://goo.gl/noOXIC more details.

func (*AutoScaling) DescribeScalingProcessTypes

func (as *AutoScaling) DescribeScalingProcessTypes() (resp *DescribeScalingProcessTypesResp, err error)

DescribeScalingProcessTypes returns scaling process types for use in the ResumeProcesses and SuspendProcesses actions.

See http://goo.gl/rkp2tw for more details.

func (*AutoScaling) DescribeScheduledActions

func (as *AutoScaling) DescribeScheduledActions(options *DescribeScheduledActionsParams) (
	resp *DescribeScheduledActionsResult, err error)

DescribeScheduledActions returns a list of the current scheduled actions. If the AutoScalingGroup name is provided it will list all the scheduled actions for that group.

See http://goo.gl/zqrJLx for more details.

func (*AutoScaling) DescribeTags

func (as *AutoScaling) DescribeTags(filter *Filter, maxRecords int, nextToken string) (
	resp *DescribeTagsResp, err error)

DescribeTags lists the Auto Scaling group tags. Supports pagination by using the returned "NextToken" parameter for subsequent calls

See http://goo.gl/ZTEU3G for more details.

func (*AutoScaling) DescribeTerminationPolicyTypes

func (as *AutoScaling) DescribeTerminationPolicyTypes() (resp *DescribeTerminationPolicyTypesResp, err error)

DescribeTerminationPolicyTypes returns a list of all termination policies supported by Auto Scaling

See http://goo.gl/ZTEU3G for more details.

func (*AutoScaling) DetachInstances

func (as *AutoScaling) DetachInstances(asgName string, instanceIds []string, decrementCapacity bool) (
	resp *DetachInstancesResult, err error)

DetachInstances removes an instance from an Auto Scaling group

See http://goo.gl/cNwrqF for more details

func (*AutoScaling) DisableMetricsCollection

func (as *AutoScaling) DisableMetricsCollection(asgName string, metrics []string) (
	resp *SimpleResp, err error)

DisableMetricsCollection disables monitoring of group metrics for the Auto Scaling group specified in asgName. You can specify the list of affected metrics with the metrics parameter. If no metrics are specified, all metrics are disabled

See http://goo.gl/kAvzQw for more details.

func (*AutoScaling) EnableMetricsCollection

func (as *AutoScaling) EnableMetricsCollection(asgName string, metrics []string, granularity string) (
	resp *SimpleResp, err error)

EnableMetricsCollection enables monitoring of group metrics for the Auto Scaling group specified in asNmae. You can specify the list of affected metrics with the metrics parameter. Auto Scaling metrics collection can be turned on only if the InstanceMonitoring flag is set to true. Currently, the only legal granularity is "1Minute".

See http://goo.gl/UcVDWn for more details.

func (*AutoScaling) EnterStandby

func (as *AutoScaling) EnterStandby(asgName string, instanceIds []string, decrementCapacity bool) (
	resp *EnterStandbyResult, err error)

EnterStandby moves instances in an Auto Scaling group into a Standby mode.

See http://goo.gl/BJ3lXs for more information

func (*AutoScaling) ExecutePolicy

func (as *AutoScaling) ExecutePolicy(policyName string, asgName string, honorCooldown bool) (
	resp *SimpleResp, err error)

ExecutePolicy executes the specified policy.

See http://goo.gl/BxHpFc for more details.

func (*AutoScaling) ExitStandby

func (as *AutoScaling) ExitStandby(asgName string, instanceIds []string) (
	resp *ExitStandbyResult, err error)

ExitStandby moves an instance out of Standby mode.

See http://goo.gl/9zQV4G for more information

func (*AutoScaling) PutLifecycleHook

func (as *AutoScaling) PutLifecycleHook(options *PutLifecycleHookParams) (
	resp *SimpleResp, err error)

PutLifecycleHook Creates or updates a lifecycle hook for an Auto Scaling Group.

Part of the basic sequence for adding a lifecycle hook to an Auto Scaling group: 1) Create a notification target (SQS queue || SNS Topic) 2) Create an IAM role to allow the ASG topublish lifecycle notifications to the designated SQS queue or SNS topic 3) *** Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate*** 4) If necessary, record the lifecycle action heartbeat to keep the instance in a pending state 5) Complete the lifecycle action

See http://goo.gl/9XrROq for more details.

func (*AutoScaling) PutNotificationConfiguration

func (as *AutoScaling) PutNotificationConfiguration(asgName string, notificationTypes []string, topicARN string) (
	resp *SimpleResp, err error)

PutNotificationConfiguration configures an Auto Scaling group to send notifications when specified events take place.

See http://goo.gl/9XrROq for more details.

func (*AutoScaling) PutScalingPolicy

func (as *AutoScaling) PutScalingPolicy(options *PutScalingPolicyParams) (
	resp *PutScalingPolicyResp, err error)

PutScalingPolicy creates or updates a policy for an Auto Scaling group

See http://goo.gl/o0E8hl for more details.

func (*AutoScaling) PutScheduledUpdateGroupAction

func (as *AutoScaling) PutScheduledUpdateGroupAction(options *PutScheduledUpdateGroupActionParams) (
	resp *SimpleResp, err error)

PutScheduledUpdateGroupAction creates or updates a scheduled scaling action for an AutoScaling group. Scheduled actions can be made up to thirty days in advance. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged in the affected AutoScaling group.

Auto Scaling supports the date and time expressed in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only.

See http://goo.gl/sLPi0d for more details.

func (*AutoScaling) RecordLifecycleActionHeartbeat

func (as *AutoScaling) RecordLifecycleActionHeartbeat(asgName, lifecycleActionToken, hookName string) (
	resp *SimpleResp, err error)

RecordLifecycleActionHeartbeat ecords a heartbeat for the lifecycle action associated with a specific token. This extends the timeout by the length of time defined by the HeartbeatTimeout parameter of the PutLifecycleHook operation.

Part of the basic sequence for adding a lifecycle hook to an Auto Scaling group: 1) Create a notification target (SQS queue || SNS Topic) 2) Create an IAM role to allow the ASG topublish lifecycle notifications to the designated SQS queue or SNS topic 3) Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate 4) ***If necessary, record the lifecycle action heartbeat to keep the instance in a pending state*** 5) Complete the lifecycle action

See http://goo.gl/jc70xp for more details.

func (*AutoScaling) ResumeProcesses

func (as *AutoScaling) ResumeProcesses(asgName string, processes []string) (
	resp *SimpleResp, err error)

ResumeProcesses resumes the scaling processes for the scaling group. If no processes are provided, all processes are resumed.

See http://goo.gl/XWIIg1 for more details.

func (*AutoScaling) SetDesiredCapacity

func (as *AutoScaling) SetDesiredCapacity(asgName string, desiredCapacity int, honorCooldown bool) (
	resp *SimpleResp, err error)

SetDesiredCapacity changes the DesiredCapacity of an AutoScaling group.

See http://goo.gl/3WGZbI for more details.

func (*AutoScaling) SetInstanceHealth

func (as *AutoScaling) SetInstanceHealth(id string, healthStatus string, respectGracePeriod bool) (
	resp *SimpleResp, err error)

SetInstanceHealth sets the health status of a specified instance that belongs to any of your Auto Scaling groups.

See http://goo.gl/j4ZRxh for more details.

func (*AutoScaling) SuspendProcesses

func (as *AutoScaling) SuspendProcesses(asgName string, processes []string) (
	resp *SimpleResp, err error)

SuspendProcesses suspends the processes for the autoscaling group. If no processes are provided, all processes are suspended.

If you suspend either of the two primary processes (Launch or Terminate), this can prevent other process types from functioning properly.

See http://goo.gl/DUJpQy for more details.

func (*AutoScaling) TerminateInstanceInAutoScalingGroup

func (as *AutoScaling) TerminateInstanceInAutoScalingGroup(id string, decrCap bool) (
	resp *TerminateInstanceInAutoScalingGroupResp, err error)

TerminateInstanceInAutoScalingGroup terminates the specified instance. Optionally, the desired group size can be adjusted by setting decrCap to true

See http://goo.gl/ki5hMh for more details.

func (*AutoScaling) UpdateAutoScalingGroup

func (as *AutoScaling) UpdateAutoScalingGroup(asg *AutoScalingGroup) (resp *SimpleResp, err error)

UpdateAutoScalingGroup updates the scaling group.

To update an auto scaling group with a launch configuration that has the InstanceMonitoring flag set to False, you must first ensure that collection of group metrics is disabled. Otherwise calls to UpdateAutoScalingGroup will fail.

See http://goo.gl/rqrmxy for more details.

type AutoScalingGroup

type AutoScalingGroup struct {
	AutoScalingGroupARN     string             `xml:"AutoScalingGroupARN"`
	AutoScalingGroupName    string             `xml:"AutoScalingGroupName"`
	AvailabilityZones       []string           `xml:"AvailabilityZones>member"`
	CreatedTime             time.Time          `xml:"CreatedTime"`
	DefaultCooldown         int                `xml:"DefaultCooldown"`
	DesiredCapacity         int                `xml:"DesiredCapacity"`
	EnabledMetrics          []EnabledMetric    `xml:"EnabledMetric>member"`
	HealthCheckGracePeriod  int                `xml:"HealthCheckGracePeriod"`
	HealthCheckType         string             `xml:"HealthCheckType"`
	Instances               []Instance         `xml:"Instances>member"`
	LaunchConfigurationName string             `xml:"LaunchConfigurationName"`
	LoadBalancerNames       []string           `xml:"LoadBalancerNames>member"`
	MaxSize                 int                `xml:"MaxSize"`
	MinSize                 int                `xml:"MinSize"`
	PlacementGroup          string             `xml:"PlacementGroup"`
	Status                  string             `xml:"Status"`
	SuspendedProcesses      []SuspendedProcess `xml:"SuspendedProcesses>member"`
	Tags                    []Tag              `xml:"Tags>member"`
	TerminationPolicies     []string           `xml:"TerminationPolicies>member"`
	VPCZoneIdentifier       string             `xml:"VPCZoneIdentifier"`
}

AutoScalingGroup encapsulates an Auto Scaling Group object

See http://goo.gl/fJdYhg for more details.

type BlockDeviceMapping

type BlockDeviceMapping struct {
	DeviceName  string `xml:"DeviceName"`
	Ebs         EBS    `xml:"Ebs"`
	NoDevice    bool   `xml:"NoDevice"`
	VirtualName string `xml:"VirtualName"`
}

BlockDeviceMapping represents the association of a block device with ebs volume.

See http://goo.gl/wEGwkU for more details.

type CompleteLifecycleActionParams

type CompleteLifecycleActionParams struct {
	AutoScalingGroupName  string
	LifecycleActionResult string
	LifecycleActionToken  string
	LifecycleHookName     string
}

type CreateAutoScalingGroupParams

type CreateAutoScalingGroupParams struct {
	AutoScalingGroupName    string
	AvailabilityZones       []string
	DefaultCooldown         int
	DesiredCapacity         int
	HealthCheckGracePeriod  int
	HealthCheckType         string
	InstanceId              string
	LaunchConfigurationName string
	LoadBalancerNames       []string
	MaxSize                 int
	MinSize                 int
	PlacementGroup          string
	Tags                    []Tag
	TerminationPolicies     []string
	VPCZoneIdentifier       string
}

CreateAutoScalingGroupParams type encapsulates options for the respective request.

See http://goo.gl/3S13Bv for more details.

type DescribeAccountLimitsResp

type DescribeAccountLimitsResp struct {
	MaxNumberOfAutoScalingGroups    int    `xml:"DescribeAccountLimitsResult>MaxNumberOfAutoScalingGroups"`
	MaxNumberOfLaunchConfigurations int    `xml:"DescribeAccountLimitsResult>MaxNumberOfLaunchConfigurations"`
	RequestId                       string `xml:"ResponseMetadata>RequestId"`
}

DescribeAccountLimits response wrapper

See http://goo.gl/tKsMN0 for more details.

type DescribeAdjustmentTypesResp

type DescribeAdjustmentTypesResp struct {
	AdjustmentTypes []AdjustmentType `xml:"DescribeAdjustmentTypesResult>AdjustmentTypes>member"`
	RequestId       string           `xml:"ResponseMetadata>RequestId"`
}

DescribeAdjustmentTypes response wrapper

See http://goo.gl/hGx3Pc for more details.

type DescribeAutoScalingGroupsResp

type DescribeAutoScalingGroupsResp struct {
	AutoScalingGroups []AutoScalingGroup `xml:"DescribeAutoScalingGroupsResult>AutoScalingGroups>member"`
	NextToken         string             `xml:"DescribeAutoScalingGroupsResult>NextToken"`
	RequestId         string             `xml:"ResponseMetadata>RequestId"`
}

DescribeAutoScalingGroups response wrapper

See http://goo.gl/nW74Ut for more details.

type DescribeAutoScalingInstancesResp

type DescribeAutoScalingInstancesResp struct {
	AutoScalingInstances []Instance `xml:"DescribeAutoScalingInstancesResult>AutoScalingInstances>member"`
	NextToken            string     `xml:"DescribeAutoScalingInstancesResult>NextToken"`
	RequestId            string     `xml:"ResponseMetadata>RequestId"`
}

DescribeAutoScalingInstances response wrapper

See http://goo.gl/ckzORt for more details.

type DescribeAutoScalingNotificationTypesResp

type DescribeAutoScalingNotificationTypesResp struct {
	AutoScalingNotificationTypes []string `xml:"DescribeAutoScalingNotificationTypesResult>AutoScalingNotificationTypes>member"`
	RequestId                    string   `xml:"ResponseMetadata>RequestId"`
}

DescribeAutoScalingNotificationTypes response wrapper

See http://goo.gl/pmLIoE for more details.

type DescribeLaunchConfigurationsResp

type DescribeLaunchConfigurationsResp struct {
	LaunchConfigurations []LaunchConfiguration `xml:"DescribeLaunchConfigurationsResult>LaunchConfigurations>member"`
	NextToken            string                `xml:"DescribeLaunchConfigurationsResult>NextToken"`
	RequestId            string                `xml:"ResponseMetadata>RequestId"`
}

DescribeLaunchConfigurationResp defines the basic response structure for launch configuration requests

See http://goo.gl/y31YYE for more details.

type DescribeLifecycleHookTypesResult

type DescribeLifecycleHookTypesResult struct {
	LifecycleHookTypes []string `xml:"DescribeLifecycleHookTypesResult>LifecycleHookTypes>member"`
	RequestId          string   `xml:"ResponseMetadata>RequestId"`
}

DescribeLifecycleHookTypesResult wraps a DescribeLifecycleHookTypes response

See http://goo.gl/qiAH31 for more details.

type DescribeLifecycleHooksResult

type DescribeLifecycleHooksResult struct {
	LifecycleHooks []string `xml:"DescribeLifecycleHooksResult>LifecycleHooks>member"`
	RequestId      string   `xml:"ResponseMetadata>RequestId"`
}

DescribeLifecycleHooks wraps a DescribeLifecycleHooks response

See http://goo.gl/wQkWiz for more details.

type DescribeMetricCollectionTypesResp

type DescribeMetricCollectionTypesResp struct {
	Granularities []MetricGranularity `xml:"DescribeMetricCollectionTypesResult>Granularities>member"`
	Metrics       []MetricCollection  `xml:"DescribeMetricCollectionTypesResult>Metrics>member"`
	RequestId     string              `xml:"ResponseMetadata>RequestId"`
}

DescribeMetricCollectionTypesResp response wrapper

See http://goo.gl/UyYc3i for more details.

type DescribeNotificationConfigurationsResp

type DescribeNotificationConfigurationsResp struct {
	NotificationConfigurations []NotificationConfiguration `xml:"DescribeNotificationConfigurationsResult>NotificationConfigurations>member"`
	NextToken                  string                      `xml:"DescribeNotificationConfigurationsResult>NextToken"`
	RequestId                  string                      `xml:"ResponseMetadata>RequestId"`
}

DescribeNotificationConfigurations response wrapper

See http://goo.gl/qiAH31 for more details.

type DescribePoliciesResp

type DescribePoliciesResp struct {
	ScalingPolicies []ScalingPolicy `xml:"DescribePoliciesResult>ScalingPolicies>member"`
	NextToken       string          `xml:"DescribePoliciesResult>NextToken"`
	RequestId       string          `xml:"ResponseMetadata>RequestId"`
}

DescribePolicies response wrapper

http://goo.gl/bN7A9T for more details.

type DescribeScalingActivitiesResp

type DescribeScalingActivitiesResp struct {
	Activities []Activity `xml:"DescribeScalingActivitiesResult>Activities>member"`
	NextToken  string     `xml:"DescribeScalingActivitiesResult>NextToken"`
	RequestId  string     `xml:"ResponseMetadata>RequestId"`
}

DescribeScalingActivities response wrapper

http://goo.gl/noOXIC for more details.

type DescribeScalingProcessTypesResp

type DescribeScalingProcessTypesResp struct {
	Processes []ProcessType `xml:"DescribeScalingProcessTypesResult>Processes>member"`
	RequestId string        `xml:"ResponseMetadata>RequestId"`
}

DescribeScalingProcessTypes response wrapper

See http://goo.gl/rkp2tw for more details.

type DescribeScheduledActionsParams

type DescribeScheduledActionsParams struct {
	AutoScalingGroupName string
	EndTime              time.Time
	MaxRecords           int
	ScheduledActionNames []string
	StartTime            time.Time
	NextToken            string
}

ScheduledActionsRequestParams contains the items that can be specified when making a ScheduledActions request

type DescribeScheduledActionsResult

type DescribeScheduledActionsResult struct {
	ScheduledUpdateGroupActions []ScheduledUpdateGroupAction `xml:"DescribeScheduledActionsResult>ScheduledUpdateGroupActions>member"`
	NextToken                   string                       `xml:"DescribeScheduledActionsResult>NextToken"`
	RequestId                   string                       `xml:"ResponseMetadata>RequestId"`
}

DescribeScheduledActionsResult contains the response from a DescribeScheduledActions.

See http://goo.gl/zqrJLx for more details.

type DescribeTagsResp

type DescribeTagsResp struct {
	Tags      []Tag  `xml:"DescribeTagsResult>Tags>member"`
	NextToken string `xml:"DescribeTagsResult>NextToken"`
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

DescribeTags response wrapper

See http://goo.gl/ZTEU3G for more details.

type DescribeTerminationPolicyTypesResp

type DescribeTerminationPolicyTypesResp struct {
	TerminationPolicyTypes []string `xml:"DescribeTerminationPolicyTypesResult>TerminationPolicyTypes>member"`
	RequestId              string   `xml:"ResponseMetadata>RequestId"`
}

DescribeTerminationPolicyTypes response wrapper

See http://goo.gl/ZTEU3G for more details.

type DetachInstancesResult

type DetachInstancesResult struct {
	Activities []Activity `xml:"DetachInstancesResult>Activities>member"`
	RequestId  string     `xml:"ResponseMetadata>RequestId"`
}

DetachInstancesResult wraps a DetachInstances response

type EBS

type EBS struct {
	DeleteOnTermination bool   `xml:"DeleteOnTermination"`
	Iops                int    `xml:"Iops"`
	SnapshotId          string `xml:"SnapshotId"`
	VolumeSize          int    `xml:"VolumeSize"`
	VolumeType          string `xml:"VolumeType"`
}

EBS represents the AWS EBS volume data type

See http://goo.gl/nDUL2h for more details

type EnabledMetric

type EnabledMetric struct {
	Granularity string `xml:"Granularity"` // The granularity of the enabled metric.
	Metric      string `xml:"Metric"`      // The name of the enabled metric.
}

EnabledMetric encapsulates a metric associated with an Auto Scaling Group

See http://goo.gl/hXiH17 for more details

type EnterStandbyResult

type EnterStandbyResult struct {
	Activities []Activity `xml:"EnterStandbyResult>Activities>member"`
	RequestId  string     `xml:"ResponseMetadata>RequestId"`
}

EnterStandbyResult wraps an EnterStandby response

type Error

type Error struct {
	// HTTP status code (200, 403, ...)
	StatusCode int
	// AutoScaling error code ("UnsupportedOperation", ...)
	Code string
	// The error type
	Type string
	// The human-oriented error message
	Message   string
	RequestId string `xml:"RequestID"`
}

Error encapsulates an error returned by the AWS Auto Scaling API.

See http://goo.gl/VZGuC for more details.

func (*Error) Error

func (err *Error) Error() string

type ExitStandbyResult

type ExitStandbyResult struct {
	Activities []Activity `xml:"ExitStandbyResult>Activities>member"`
	RequestId  string     `xml:"ResponseMetadata>RequestId"`
}

ExitStandbyResult wraps an ExitStandby response

type Filter

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

Filter builds filtering parameters to be used in an autoscaling query which supports filtering. For example:

filter := NewFilter()
filter.Add("architecture", "i386")
filter.Add("launch-index", "0")
resp, err := as.DescribeTags(filter,nil,nil)

func NewFilter

func NewFilter() *Filter

NewFilter creates a new Filter.

func (*Filter) Add

func (f *Filter) Add(name string, value ...string)

Add appends a filtering parameter with the given name and value(s).

type Instance

type Instance struct {
	// General instance information
	AutoScalingGroupName    string `xml:"AutoScalingGroupName"`
	AvailabilityZone        string `xml:"AvailabilityZone"`
	HealthStatus            string `xml:"HealthStatus"`
	InstanceId              string `xml:"InstanceId"`
	LaunchConfigurationName string `xml:"LaunchConfigurationName"`
	LifecycleState          string `xml:"LifecycleState"`
}

Instance encapsulates an instance type as returned by the Auto Scaling API

See http://goo.gl/NwBxGh and http://goo.gl/OuoqhS for more details.

type InstanceMonitoring

type InstanceMonitoring struct {
	Enabled bool `xml:"Enabled"`
}

InstanceMonitoring data type

See http://goo.gl/TfaPwz for more details

type LaunchConfiguration

type LaunchConfiguration struct {
	AssociatePublicIpAddress bool                 `xml:"AssociatePublicIpAddress"`
	BlockDeviceMappings      []BlockDeviceMapping `xml:"BlockDeviceMappings>member"`
	CreatedTime              time.Time            `xml:"CreatedTime"`
	EbsOptimized             bool                 `xml:"EbsOptimized"`
	IamInstanceProfile       string               `xml:"IamInstanceProfile"`
	ImageId                  string               `xml:"ImageId"`
	InstanceId               string               `xml:"InstanceId"`
	InstanceMonitoring       InstanceMonitoring   `xml:"InstanceMonitoring"`
	InstanceType             string               `xml:"InstanceType"`
	KernelId                 string               `xml:"KernelId"`
	KeyName                  string               `xml:"KeyName"`
	LaunchConfigurationARN   string               `xml:"LaunchConfigurationARN"`
	LaunchConfigurationName  string               `xml:"LaunchConfigurationName"`
	RamdiskId                string               `xml:"RamdiskId"`
	SecurityGroups           []string             `xml:"SecurityGroups>member"`
	SpotPrice                string               `xml:"SpotPrice"`
	UserData                 string               `xml:"UserData"`
}

LaunchConfiguration encapsulates the LaunchConfiguration Data Type

See http://goo.gl/TOJunp

type LifecycleHook

type LifecycleHook struct {
	AutoScalingGroupName  string `xml:"AutoScalingGroupName"`
	DefaultResult         string `xml:"DefaultResult"`
	GlobalTimeout         int    `xml:"GlobalTimeout"`
	HeartbeatTimeout      int    `xml:"HeartbeatTimeout"`
	LifecycleHookName     string `xml:"LifecycleHookName"`
	LifecycleTransition   string `xml:"LifecycleTransition"`
	NotificationMetadata  string `xml:"NotificationMetadata"`
	NotificationTargetARN string `xml:"NotificationTargetARN"`
	RoleARN               string `xml:"RoleARN"`
}

LifecycleHook represents a lifecyclehook object

See http://goo.gl/j62Iqu for more information

type MetricCollection

type MetricCollection struct {
	Metric string `xml:"Metric"`
}

MetricCollection encapsulates the MetricCollectionType

See http://goo.gl/YrEG6h for more details

type MetricGranularity

type MetricGranularity struct {
	Granularity string `xml:"Granularity"`
}

MetricGranularity encapsulates the MetricGranularityType

See http://goo.gl/WJ82AA for more details

type NotificationConfiguration

type NotificationConfiguration struct {
	AutoScalingGroupName string `xml:"AutoScalingGroupName"`
	NotificationType     string `xml:"NotificationType"`
	TopicARN             string `xml:"TopicARN"`
}

NotificationConfiguration encapsulates the NotificationConfigurationType

See http://goo.gl/M8xYOQ for more details

type ProcessType

type ProcessType struct {
	ProcessName string `xml:"ProcessName"`
}

ProcessType encapsulates the Auto Scaling process data type

See http://goo.gl/9BvNik for more details.

type PutLifecycleHookParams

type PutLifecycleHookParams struct {
	AutoScalingGroupName  string
	DefaultResult         string
	HeartbeatTimeout      int
	LifecycleHookName     string
	LifecycleTransition   string
	NotificationMetadata  string
	NotificationTargetARN string
	RoleARN               string
}

PutLifecycleHookParams wraps a PutLifecycleHook request

See http://goo.gl/zsNqp5 for more details

type PutScalingPolicyParams

type PutScalingPolicyParams struct {
	AutoScalingGroupName string
	PolicyName           string
	ScalingAdjustment    int
	AdjustmentType       string
	Cooldown             int
	MinAdjustmentStep    int
}

PutScalingPolicyParams wraps a PutScalingPolicyParams request

See http://goo.gl/o0E8hl for more details.

type PutScalingPolicyResp

type PutScalingPolicyResp struct {
	PolicyARN string `xml:"PutScalingPolicyResult>PolicyARN"`
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

PutScalingPolicy response wrapper

See http://goo.gl/o0E8hl for more details.

type PutScheduledUpdateGroupActionParams

type PutScheduledUpdateGroupActionParams struct {
	AutoScalingGroupName string
	DesiredCapacity      int
	EndTime              time.Time
	MaxSize              int
	MinSize              int
	Recurrence           string
	ScheduledActionName  string
	StartTime            time.Time
}

PutScheduledUpdateGroupActionParams contains the details of the ScheduledAction to be added.

See http://goo.gl/sLPi0d for more details

type ScalingPolicy

type ScalingPolicy struct {
	AdjustmentType       string  `xml:"AdjustmentType"` // ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity
	Alarms               []Alarm `xml:"Alarms>member"`  // A list of CloudWatch Alarms related to the policy
	AutoScalingGroupName string  `xml:"AutoScalingGroupName"`
	Cooldown             int     `xml:"Cooldown"`
	MinAdjustmentStep    int     `xml:"MinAdjustmentStep"` // Changes the DesiredCapacity of ASG by at least the specified number of instances.
	PolicyARN            string  `xml:"PolicyARN"`
	PolicyName           string  `xml:"PolicyName"`
	ScalingAdjustment    int     `xml:"ScalingAdjustment"`
}

ScalingPolicy encapsulates the ScalingPolicyType

See http://goo.gl/BYAT18 for more details

type ScheduledUpdateGroupAction

type ScheduledUpdateGroupAction struct {
	AutoScalingGroupName string    `xml:"AutoScalingGroupName"`
	DesiredCapacity      int       `xml:"DesiredCapacity"`
	EndTime              time.Time `xml:"EndTime"`
	MaxSize              int       `xml:"MaxSize"`
	MinSize              int       `xml:"MinSize"`
	Recurrence           string    `xml:"Recurrence"`
	ScheduledActionARN   string    `xml:"ScheduledActionARN"`
	ScheduledActionName  string    `xml:"ScheduledActionName"`
	StartTime            time.Time `xml:"StartTime"`
	Time                 time.Time `xml:"Time"`
}

ScheduledUpdateGroupAction contains the information to be used in a scheduled update to an AutoScalingGroup

See http://goo.gl/z2Kfxe for more details

type SimpleResp

type SimpleResp struct {
	XMLName   xml.Name
	RequestId string `xml:"ResponseMetadata>RequestId"`
}

SimpleResp is the basic response from most actions.

type SuspendedProcess

type SuspendedProcess struct {
	ProcessName      string `xml:"ProcessName"`
	SuspensionReason string `xml:"SuspensionReason"`
}

SuspenedProcess encapsulates an Auto Scaling process that has been suspended

See http://goo.gl/iObPgF for more details

type Tag

type Tag struct {
	Key               string `xml:"Key"`
	PropagateAtLaunch bool   `xml:"PropagateAtLaunch"` // Specifies whether the new tag will be applied to instances launched after the tag is created
	ResourceId        string `xml:"ResourceId"`        // the name of the Auto Scaling group - not required if creating ASG
	ResourceType      string `xml:"ResourceType"`      // currently only auto-scaling-group is supported - not required if creating ASG
	Value             string `xml:"Value"`
}

Tag encapsulates tag applied to an Auto Scaling group.

See http://goo.gl/MG1hqs for more details

type TerminateInstanceInAutoScalingGroupResp

type TerminateInstanceInAutoScalingGroupResp struct {
	Activity  Activity `xml:"TerminateInstanceInAutoScalingGroupResult>Activity"`
	RequestId string   `xml:"ResponseMetadata>RequestId"`
}

TerminateInstanceInAutoScalingGroupResp response wrapper

See http://goo.gl/ki5hMh for more details.

Jump to

Keyboard shortcuts

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