Class: Fog::AWS::AutoScaling::Real
- Inherits:
-
Object
- Object
- Fog::AWS::AutoScaling::Real
- Includes:
- CredentialFetcher::ConnectionMethods
- Defined in:
- lib/fog/aws/auto_scaling.rb,
lib/fog/aws/requests/auto_scaling/delete_tags.rb,
lib/fog/aws/requests/auto_scaling/delete_policy.rb,
lib/fog/aws/requests/auto_scaling/describe_tags.rb,
lib/fog/aws/requests/auto_scaling/execute_policy.rb,
lib/fog/aws/requests/auto_scaling/attach_instances.rb,
lib/fog/aws/requests/auto_scaling/detach_instances.rb,
lib/fog/aws/requests/auto_scaling/resume_processes.rb,
lib/fog/aws/requests/auto_scaling/describe_policies.rb,
lib/fog/aws/requests/auto_scaling/suspend_processes.rb,
lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb,
lib/fog/aws/requests/auto_scaling/set_instance_health.rb,
lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb,
lib/fog/aws/requests/auto_scaling/attach_load_balancers.rb,
lib/fog/aws/requests/auto_scaling/create_or_update_tags.rb,
lib/fog/aws/requests/auto_scaling/detach_load_balancers.rb,
lib/fog/aws/requests/auto_scaling/delete_scheduled_action.rb,
lib/fog/aws/requests/auto_scaling/set_instance_protection.rb,
lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb,
lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb,
lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb,
lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb,
lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb,
lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb,
lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb,
lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb,
lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb,
lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb,
lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb,
lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb,
lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb,
lib/fog/aws/requests/auto_scaling/put_notification_configuration.rb,
lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb,
lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb,
lib/fog/aws/requests/auto_scaling/delete_notification_configuration.rb,
lib/fog/aws/requests/auto_scaling/describe_termination_policy_types.rb,
lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb,
lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb,
lib/fog/aws/requests/auto_scaling/detach_load_balancer_target_groups.rb,
lib/fog/aws/requests/auto_scaling/describe_notification_configurations.rb,
lib/fog/aws/requests/auto_scaling/describe_auto_scaling_notification_types.rb,
lib/fog/aws/requests/auto_scaling/terminate_instance_in_auto_scaling_group.rb
Instance Attribute Summary collapse
-
#region ⇒ Object
Returns the value of attribute region.
Instance Method Summary collapse
- #attach_instances(auto_scaling_group_name, options = {}) ⇒ Object
- #attach_load_balancer_target_groups(auto_scaling_group_name, options = {}) ⇒ Object
- #attach_load_balancers(auto_scaling_group_name, options = {}) ⇒ Object
- #create_auto_scaling_group(auto_scaling_group_name, availability_zones, launch_configuration_name, max_size, min_size, options = {}) ⇒ Object
-
#create_launch_configuration(image_id, instance_type, launch_configuration_name, options = {}) ⇒ Object
Creates a new launch configuration.
-
#create_or_update_tags(tags) ⇒ Object
Creates new tags or updates existing tags for an Auto Scaling group.
-
#delete_auto_scaling_group(auto_scaling_group_name, options = {}) ⇒ Object
Deletes the specified auto scaling group if the group has no instances and no scaling activities in progress.
-
#delete_launch_configuration(launch_configuration_name) ⇒ Object
Deletes the specified launch configuration.
-
#delete_notification_configuration(auto_scaling_group_name, topic_arn) ⇒ Object
Deletes notifications created by put_notification_configuration.
-
#delete_policy(auto_scaling_group_name, policy_name) ⇒ Object
Deletes a policy created by put_scaling_policy.
-
#delete_scheduled_action(auto_scaling_group_name, scheduled_action_name) ⇒ Object
Deletes a scheduled action previously created using the put_scheduled_update_group_action.
-
#delete_tags(tags) ⇒ Object
Removes the specified tags or a set of tags from a set of resources.
-
#describe_adjustment_types ⇒ Object
Returns policy adjustment types for use in the put_scaling_policy action.
-
#describe_auto_scaling_groups(options = {}) ⇒ Object
Returns a full description of each Auto Scaling group in the given list.
-
#describe_auto_scaling_instances(options = {}) ⇒ Object
Returns a description of each Auto Scaling instance in the instance_ids list.
-
#describe_auto_scaling_notification_types ⇒ Object
Returns a list of all notification types that are supported by Auto Scaling.
-
#describe_launch_configurations(options = {}) ⇒ Object
Returns a full description of the launch configurations given the specified names.
-
#describe_metric_collection_types ⇒ Object
Returns a list of metrics and a corresponding list of granularities for each metric.
-
#describe_notification_configurations(options = {}) ⇒ Object
Returns a list of notification actions associated with Auto Scaling groups for specified events.
-
#describe_policies(options = {}) ⇒ Object
Returns descriptions of what each policy does.
-
#describe_scaling_activities(options = {}) ⇒ Object
Returns the scaling activities for the specified Auto Scaling group.
-
#describe_scaling_process_types ⇒ Object
Returns scaling process types for use in the resume_processes and suspend_processes actions.
-
#describe_scheduled_actions(options = {}) ⇒ Object
List all the actions scheduled for your Auto Scaling group that haven’t been executed.
-
#describe_tags(options = {}) ⇒ Object
Lists the Auto Scaling group tags.
-
#describe_termination_policy_types ⇒ Object
Returns a list of all termination policies supported by Auto Scaling.
- #detach_instances(auto_scaling_group_name, options = {}) ⇒ Object
- #detach_load_balancer_target_groups(auto_scaling_group_name, options = {}) ⇒ Object
- #detach_load_balancers(auto_scaling_group_name, options = {}) ⇒ Object
-
#disable_metrics_collection(auto_scaling_group_name, options = {}) ⇒ Object
Disables monitoring of group metrics for the Auto Scaling group specified in AutoScalingGroupName.
-
#enable_metrics_collection(auto_scaling_group_name, granularity, options = {}) ⇒ Object
Enables monitoring of group metrics for the Auto Scaling group specified in auto_scaling_group_name.
-
#execute_policy(policy_name, options = {}) ⇒ Object
Runs the policy you create for your Auto Scaling group in put_scaling_policy.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to AutoScaling.
-
#put_notification_configuration(auto_scaling_group_name, notification_types, topic_arn) ⇒ Object
Creates a notification configuration for an Auto Scaling group.
-
#put_scaling_policy(adjustment_type, auto_scaling_group_name, policy_name, scaling_adjustment, options = {}) ⇒ Object
Creates or updates a policy for an Auto Scaling group.
-
#put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time = nil, options = {}) ⇒ Object
Creates a scheduled scaling action for a Auto Scaling group.
- #reload ⇒ Object
-
#resume_processes(auto_scaling_group_name, options = {}) ⇒ Object
Resumes Auto Scaling processes for an Auto Scaling group.
-
#set_desired_capacity(auto_scaling_group_name, desired_capacity, options = {}) ⇒ Object
Adjusts the desired size of the AutoScalingGroup by initiating scaling activities.
-
#set_instance_health(health_status, instance_id, options = {}) ⇒ Object
Sets the health status of an instance.
- #set_instance_protection(auto_scaling_group_name, options = {}) ⇒ Object
-
#suspend_processes(auto_scaling_group_name, options = {}) ⇒ Object
Suspends Auto Scaling processes for an Auto Scaling group.
-
#terminate_instance_in_auto_scaling_group(instance_id, should_decrement_desired_capacity) ⇒ Object
Terminates the specified instance.
- #update_auto_scaling_group(auto_scaling_group_name, options = {}) ⇒ Object
Methods included from CredentialFetcher::ConnectionMethods
#refresh_credentials_if_expired
Constructor Details
#initialize(options = {}) ⇒ Real
Initialize connection to AutoScaling
Notes
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
Examples
as = AutoScaling.new(
:aws_access_key_id => your_aws_access_key_id,
:aws_secret_access_key => your_aws_secret_access_key
)
Parameters
-
options<~Hash> - config arguments for connection. Defaults to {}.
Returns
-
AutoScaling object with connection to AWS.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/fog/aws/auto_scaling.rb', line 93 def initialize(={}) @use_iam_profile = [:use_iam_profile] @connection_options = [:connection_options] || {} @instrumentor = [:instrumentor] @instrumentor_name = [:instrumentor_name] || 'fog.aws.auto_scaling' [:region] ||= 'us-east-1' @region = [:region] @host = [:host] || "autoscaling.#{[:region]}.amazonaws.com" @path = [:path] || '/' @port = [:port] || 443 @persistent = [:persistent] || false @scheme = [:scheme] || 'https' @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options) setup_credentials() end |
Instance Attribute Details
#region ⇒ Object
Returns the value of attribute region.
73 74 75 |
# File 'lib/fog/aws/auto_scaling.rb', line 73 def region @region end |
Instance Method Details
#attach_instances(auto_scaling_group_name, options = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fog/aws/requests/auto_scaling/attach_instances.rb', line 24 def attach_instances(auto_scaling_group_name, = {}) if instance_ids = .delete('InstanceIds') .merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids])) end request({ 'Action' => 'AttachInstances', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#attach_load_balancer_target_groups(auto_scaling_group_name, options = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb', line 22 def attach_load_balancer_target_groups(auto_scaling_group_name, = {}) if target_group_arns = .delete('TargetGroupARNs') .merge!(AWS.indexed_param('TargetGroupARNs.member.%d', *target_group_arns)) end request({ 'Action' => 'AttachLoadBalancerTargetGroups', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#attach_load_balancers(auto_scaling_group_name, options = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/auto_scaling/attach_load_balancers.rb', line 22 def attach_load_balancers(auto_scaling_group_name, = {}) if load_balancer_names = .delete('LoadBalancerNames') .merge!(AWS.indexed_param('LoadBalancerNames.member.%d', [*load_balancer_names])) end request({ 'Action' => 'AttachLoadBalancers', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#create_auto_scaling_group(auto_scaling_group_name, availability_zones, launch_configuration_name, max_size, min_size, options = {}) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb', line 67 def create_auto_scaling_group(auto_scaling_group_name, availability_zones, launch_configuration_name, max_size, min_size, = {}) .merge!(AWS.indexed_param('AvailabilityZones.member.%d', [*availability_zones])) .delete('AvailabilityZones') if load_balancer_names = .delete('LoadBalancerNames') .merge!(AWS.indexed_param('LoadBalancerNames.member.%d', [*load_balancer_names])) end if = .delete('Tags') .merge!(AWS.indexed_param("Tags.member.%d", [*])) end if termination_policies = .delete('TerminationPolicies') .merge!(AWS.indexed_param('TerminationPolicies.member.%d', [*termination_policies])) end request({ 'Action' => 'CreateAutoScalingGroup', 'AutoScalingGroupName' => auto_scaling_group_name, 'LaunchConfigurationName' => launch_configuration_name, 'MaxSize' => max_size, 'MinSize' => min_size, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#create_launch_configuration(image_id, instance_type, launch_configuration_name, options = {}) ⇒ Object
Creates a new launch configuration. When created, the new launch configuration is available for immediate use.
Parameters
-
image_id<~String> - Unique ID of the Amazon Machine Image (AMI) which was assigned during registration.
-
instance_type<~String> - The instance type of the EC2 instance.
-
launch_configuration_name<~String> - The name of the launch configuration to create.
-
options<~Hash>:
-
‘BlockDeviceMappings’<~Array>:
-
‘DeviceName’<~String> - The name of the device within Amazon EC2.
-
‘Ebs.SnapshotId’<~String> - The snapshot ID.
-
‘Ebs.VolumeSize’<~Integer> - The volume size, in GigaBytes.
-
‘VirtualName’<~String> - The virtual name associated with the device.
-
-
‘IamInstanceProfile’<~String> The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.
-
‘InstanceMonitoring.Enabled’<~Boolean> - Enables detailed monitoring, which is enabled by default.
-
‘KernelId’<~String> - The ID of the kernel associated with the Amazon EC2 AMI.
-
‘KeyName’<~String> - The name of the Amazon EC2 key pair.
-
‘RamdiskId’<~String> - The ID of the RAM disk associated with the Amazon EC2 AMI.
-
‘SecurityGroups’<~Array> - The names of the security groups with which to associate Amazon EC2 or Amazon VPC instances.
-
‘SpotPrice’<~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 market price.
-
‘UserData’<~String> - The user data available to the launched Amazon EC2 instances.
-
‘EbsOptimized’<~Boolean> - Whether the instance is optimized for EBS I/O. Not required, default false.
-
‘PlacementTenancy’<~String> - The tenancy of the instance. Valid values: default | dedicated. Default: default
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb', line 56 def create_launch_configuration(image_id, instance_type, launch_configuration_name, = {}) if block_device_mappings = .delete('BlockDeviceMappings') block_device_mappings.each_with_index do |mapping, i| for key, value in mapping .merge!({ format("BlockDeviceMappings.member.%d.#{key}", i+1) => value }) end end end if security_groups = .delete('SecurityGroups') .merge!(AWS.indexed_param('SecurityGroups.member.%d', [*security_groups])) end if classic_link_groups = .delete('ClassicLinkVPCSecurityGroups') .merge!(AWS.indexed_param('ClassicLinkVPCSecurityGroups.member.%d', [*classic_link_groups])) end if ['UserData'] ['UserData'] = Base64.encode64(['UserData']) end request({ 'Action' => 'CreateLaunchConfiguration', 'ImageId' => image_id, 'InstanceType' => instance_type, 'LaunchConfigurationName' => launch_configuration_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#create_or_update_tags(tags) ⇒ Object
Creates new tags or updates existing tags for an Auto Scaling group.
Parameters
-
tags<~Array>:
-
tag<~Hash>:
-
Key<~String> - The key of the tag.
-
PropagateAtLaunch<~Boolean> - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
-
ResourceId<~String> - The name of the Auto Scaling group.
-
ResourceType<~String> - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type.
-
Value<~String> - The value of the tag.
-
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_CreateOrUpdateTags.html
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/aws/requests/auto_scaling/create_or_update_tags.rb', line 33 def () params = {} .each_with_index do |tag, i| tag.each do |key, value| params["Tags.member.#{i+1}.#{key}"] = value unless value.nil? end end request({ 'Action' => 'CreateOrUpdateTags', :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!(params)) end |
#delete_auto_scaling_group(auto_scaling_group_name, options = {}) ⇒ Object
Deletes the specified auto scaling group if the group has no instances and no scaling activities in progress.
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
options<~Hash>:
-
‘ForceDelete’<~Boolean> - Starting with API version 2011-01-01, specifies that the Auto Scaling group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html
28 29 30 31 32 33 34 |
# File 'lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb', line 28 def delete_auto_scaling_group(auto_scaling_group_name, = {}) request({ 'Action' => 'DeleteAutoScalingGroup', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#delete_launch_configuration(launch_configuration_name) ⇒ Object
Deletes the specified launch configuration.
The specified launch configuration must not be attached to an Auto Scaling group. Once this call completes, the launch configuration is no longer available for use.
Parameters
-
launch_configuration_name<~String> - The name of the launch configuration.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteLaunchConfiguration.html
26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb', line 26 def delete_launch_configuration(launch_configuration_name) request({ 'Action' => 'DeleteLaunchConfiguration', 'LaunchConfigurationName' => launch_configuration_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }) end |
#delete_notification_configuration(auto_scaling_group_name, topic_arn) ⇒ Object
Deletes notifications created by put_notification_configuration.
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
topic_arn<~String> - The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteNotificationConfiguration.html
24 25 26 27 28 29 30 31 |
# File 'lib/fog/aws/requests/auto_scaling/delete_notification_configuration.rb', line 24 def delete_notification_configuration(auto_scaling_group_name, topic_arn) request({ 'Action' => 'DeleteNotificationConfiguration', 'AutoScalingGroupName' => auto_scaling_group_name, 'TopicARN' => topic_arn, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }) end |
#delete_policy(auto_scaling_group_name, policy_name) ⇒ Object
Deletes a policy created by put_scaling_policy
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
policy_name<~String> - The name or PolicyARN of the policy you want to delete.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeletePolicy.html
24 25 26 27 28 29 30 31 |
# File 'lib/fog/aws/requests/auto_scaling/delete_policy.rb', line 24 def delete_policy(auto_scaling_group_name, policy_name) request({ 'Action' => 'DeletePolicy', 'AutoScalingGroupName' => auto_scaling_group_name, 'PolicyName' => policy_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }) end |
#delete_scheduled_action(auto_scaling_group_name, scheduled_action_name) ⇒ Object
Deletes a scheduled action previously created using the put_scheduled_update_group_action.
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
scheduled_action_name<~String> - The name of the action you want to delete.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteScheduledAction.html
25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/auto_scaling/delete_scheduled_action.rb', line 25 def delete_scheduled_action(auto_scaling_group_name, scheduled_action_name) request({ 'Action' => 'DeleteScheduledAction', 'AutoScalingGroupName' => auto_scaling_group_name, 'ScheduledActionName' => scheduled_action_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }) end |
#delete_tags(tags) ⇒ Object
Removes the specified tags or a set of tags from a set of resources.
Parameters
-
tags<~Array>:
-
tag<~Hash>:
-
Key<~String> - The key of the tag.
-
PropagateAtLaunch<~Boolean> - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
-
ResourceId<~String> - The name of the Auto Scaling group.
-
ResourceType<~String> - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type.
-
Value<~String> - The value of the tag.
-
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteTags.html
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/aws/requests/auto_scaling/delete_tags.rb', line 33 def () params = {} .each_with_index do |tag, i| tag.each do |key, value| params["Tags.member.#{i+1}.#{key}"] = value unless value.nil? end end request({ 'Action' => 'DeleteTags', :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!(params)) end |
#describe_adjustment_types ⇒ Object
Returns policy adjustment types for use in the put_scaling_policy action.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeAdjustmentTypesResponse’<~Hash>:
-
‘AdjustmentTypes’<~Array>:
-
‘AdjustmentType’<~String> - A policy adjustment type.
-
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAdjustmentTypes.html
22 23 24 25 26 27 28 |
# File 'lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb', line 22 def describe_adjustment_types() request({ 'Action' => 'DescribeAdjustmentTypes', :idempotent => true, :parser => Fog::Parsers::AWS::AutoScaling::DescribeAdjustmentTypes.new }) end |
#describe_auto_scaling_groups(options = {}) ⇒ Object
Returns a full description of each Auto Scaling group in the given list. This includes all Amazon EC2 instances that are members of the group. If a list of names is not provided, the service returns the full details of all Auto Scaling groups.
This action supports pagination by returning a token if there are more pages to retrieve. To get the next page, call this action again with the returned token as the NextToken parameter.
Parameters
-
options<~Hash>:
-
‘AutoScalingGroupNames’<~Array> - A list of Auto Scaling group names.
-
‘MaxRecords’<~Integer> - The maximum number of records to return.
-
‘NextToken’<~String> - A string that marks the start of the next batch of returned results.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeAutoScalingGroupsResponse’<~Hash>:
-
‘AutoScalingGroups’<~Array>:
-
‘AutoScalingGroup’<~Hash>:
-
‘AutoScalingGroupARN’<~String> - The Amazon Resource Name
(ARN) of the Auto Scaling group.
-
‘AutoScalingGroupName’<~String> - Specifies the name of the group.
-
‘AvailabilityZones’<~Array> - Contains a list of availability zones for the group.
-
‘CreatedTime’<~Time> - Specifies the date and time the Auto Scaling group was created.
-
‘DefaultCooldown’<~Integer> - The number of seconds after a scaling activity completes before any further scaling activities can start.
-
‘DesiredCapacity’<~Integer> - Specifies the desired capacity of the Auto Scaling group.
-
‘EnabledMetrics’<~Array>:
-
enabledmetric<~Hash>:
-
‘Granularity’<~String> - The granularity of the enabled metric.
-
‘Metrics’<~String> - The name of the enabled metric.
-
-
-
‘HealthCheckGracePeriod’<~Integer>: The length of time that Auto Scaling waits before checking an instance’s health status. The grace period begins when an instance comes into service.
-
‘HealthCheckType’<~String>: The service of interest for the health status check, either “EC2” for Amazon EC2 or “ELB” for Elastic Load Balancing.
-
‘Instances’<~Array>:
-
instance<~Hash>:
-
‘AvailabilityZone’<~String>: Availability zone associated with this instance.
-
‘HealthStatus’<~String>: The instance’s health status.
-
‘InstanceId’<~String>: Specifies the EC2 instance ID.
-
‘LaunchConfigurationName’<~String>: The launch configuration associated with this instance.
-
‘LifecycleState’<~String>: Contains a description of the current lifecycle state.
-
-
-
‘LaunchConfigurationName’<~String> - Specifies the name of the associated launch configuration.
-
‘LoadBalancerNames’<~Array> - A list of load balancers associated with this Auto Scaling group.
-
‘MaxSize’<~Integer> - The maximum size of the Auto Scaling group.
-
‘MinSize’<~Integer> - The minimum size of the Auto Scaling group.
-
‘PlacementGroup’<~String> - The name of the cluster placement group, if applicable.
-
‘SuspendedProcesses’<~Array>:
-
suspendedprocess’<~Hash>:
-
‘ProcessName’<~String> - The name of the suspended process.
-
‘SuspensionReason’<~String> - The reason that the process was suspended.
-
-
-
‘TerminationPolicies’<~Array> - A standalone termination policy or a list of termination policies for this Auto Scaling group.
-
‘VPCZoneIdentifier’<~String> - The subnet identifier for the Amazon VPC connection, if applicable. You can specify several subnets in a comma-separated list.
-
-
-
‘NextToken’<~String> - A string that marks the start of the next batch of returned results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingGroups.html
96 97 98 99 100 101 102 103 104 |
# File 'lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb', line 96 def describe_auto_scaling_groups( = {}) if auto_scaling_group_names = .delete('AutoScalingGroupNames') .merge!(AWS.indexed_param('AutoScalingGroupNames.member.%d', [*auto_scaling_group_names])) end request({ 'Action' => 'DescribeAutoScalingGroups', :parser => Fog::Parsers::AWS::AutoScaling::DescribeAutoScalingGroups.new }.merge!()) end |
#describe_auto_scaling_instances(options = {}) ⇒ Object
Returns a description of each Auto Scaling instance in the instance_ids list. If a list is not provided, the service returns the full details of all instances.
This action supports pagination by returning a token if there are more pages to retrieve. To get the next page, call this action again with the returned token as the NextToken parameter.
Parameters
-
options<~Hash>:
-
‘InstanceIds’<~Array> - The list of Auto Scaling instances to describe. If this list is omitted, all auto scaling instances are described. The list of requested instances cannot contain more than 50 items. If unknown instances are requested, they are ignored with no error.
-
‘MaxRecords’<~Integer> - The aximum number of Auto Scaling instances to be described with each call.
-
‘NextToken’<~String> - The token returned by a previous call to indicate that there is more data available.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeAutoScalingInstancesResponse’<~Hash>:
-
‘AutoScalingInstances’<~Array>:
-
autoscalinginstancedetails<~Hash>:
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling Group associated with this instance.
-
‘AvailabilityZone’<~String> - The availability zone in which this instance resides.
-
‘HealthStatus’<~String> - The health status of this instance. “Healthy” means that the instance is healthy and should remain in service. “Unhealthy” means that the instance is unhealthy. Auto Scaling should terminate and replace it.
-
‘InstanceId’<~String> - The instance’s EC2 instance ID.
-
‘LaunchConfigurationName’<~String> - The launch
configuration associated with this instance.
-
‘LifecycleState’<~String> - The life cycle state of this instance.
-
-
-
‘NextToken’<~String> - Acts as a paging mechanism for large result sets. Set to a non-empty string if there are additional results waiting to be returned. Pass this in to subsequent calls to return additional results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html
57 58 59 60 61 62 63 64 65 |
# File 'lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb', line 57 def describe_auto_scaling_instances( = {}) if instance_ids = .delete('InstanceIds') .merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids])) end request({ 'Action' => 'DescribeAutoScalingInstances', :parser => Fog::Parsers::AWS::AutoScaling::DescribeAutoScalingInstances.new }.merge!()) end |
#describe_auto_scaling_notification_types ⇒ Object
Returns a list of all notification types that are supported by Auto Scaling.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeAutoScalingNotificationTypesResult’<~Hash>:
-
‘AutoScalingNotificationTypes’<~Array>:
-
‘notificationType’<~String> - A notification type.
-
-
-
-
See Also
22 23 24 25 26 27 28 |
# File 'lib/fog/aws/requests/auto_scaling/describe_auto_scaling_notification_types.rb', line 22 def describe_auto_scaling_notification_types() request({ 'Action' => 'DescribeAutoScalingNotificationTypes', :idempotent => true, :parser => Fog::Parsers::AWS::AutoScaling::DescribeAutoScalingNotificationTypes.new }) end |
#describe_launch_configurations(options = {}) ⇒ Object
Returns a full description of the launch configurations given the specified names.
If no names are specified, then the full details of all launch configurations are returned.
Parameters
-
options<~Hash>:
-
‘LaunchConfigurationNames’<~Array> - A list of launch configuration names.
-
‘MaxRecords’<~Integer> - The maximum number of launch configurations.
-
‘NextToken’<~String> - The token returned by a previous call to indicate that there is more data available.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeLaunchConfigurationsResponse’<~Hash>:
-
‘LaunchConfigurations’<~Array>:
-
launchconfiguration’<~Hash>:
-
‘BlockDeviceMappings’<~Array>:
-
blockdevicemapping<~Hash>:
-
‘DeviceName’<~String> - The name of the device within EC2.
-
‘Ebs’<~Hash>:
-
‘SnapshotId’<~String> - The snapshot ID
-
‘VolumeSize’<~Integer> - The volume size, in GigaBytes.
-
-
‘VirtualName’<~String> - The virtual name associated with the device.
-
-
-
‘CreatedTime’<~Time> - Provides the creation date and time for this launch configuration.
-
‘ImageId’<~String> - Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
-
‘InstanceMonitoring’<~Hash>:
-
‘Enabled’<~Boolean> - If true, instance monitoring is enabled.
-
-
‘InstanceType’<~String> - Specifies the instance type of the EC2 instance.
-
‘KernelId’<~String> - Provides the ID of the kernel associated with the EC2 AMI.
-
‘KeyName’<~String> - Provides the name of the EC2 key pair.
-
‘LaunchConfigurationARN’<~String> - The launch configuration’s Amazon Resource Name (ARN).
-
‘LaunchConfigurationName’<~String> - Specifies the name of the launch configuration.
-
‘RamdiskId’<~String> - Provides ID of the RAM disk associated with the EC2 AMI.
-
‘PlacementTenancy’<~String> - The tenancy of the instance.
-
‘SecurityGroups’<~Array> - A description of the security groups to associate with the EC2 instances.
-
‘UserData’<~String> - The user data available to the launched EC2 instances.
-
-
-
‘NextToken’<~String> - Acts as a paging mechanism for large result sets. Set to a non-empty string if there are additional results waiting to be returned. Pass this in to subsequent calls to return additional results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeLaunchConfigurations.html
73 74 75 76 77 78 79 80 81 |
# File 'lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb', line 73 def describe_launch_configurations( = {}) if launch_configuration_names = .delete('LaunchConfigurationNames') .merge!(AWS.indexed_param('LaunchConfigurationNames.member.%d', [*launch_configuration_names])) end request({ 'Action' => 'DescribeLaunchConfigurations', :parser => Fog::Parsers::AWS::AutoScaling::DescribeLaunchConfigurations.new }.merge!()) end |
#describe_metric_collection_types ⇒ Object
Returns a list of metrics and a corresponding list of granularities for each metric.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeMetricCollectionTypesResult’<~Hash>:
-
‘Granularities’<~Array>:
-
‘Granularity’<~String> - The granularity of a Metric.
-
-
‘Metrics’<~Array>:
-
‘Metric’<~String> - The name of a Metric.
-
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeMetricCollectionTypes.html
24 25 26 27 28 29 30 |
# File 'lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb', line 24 def describe_metric_collection_types() request({ 'Action' => 'DescribeMetricCollectionTypes', :idempotent => true, :parser => Fog::Parsers::AWS::AutoScaling::DescribeMetricCollectionTypes.new }) end |
#describe_notification_configurations(options = {}) ⇒ Object
Returns a list of notification actions associated with Auto Scaling groups for specified events.
Parameters
-
options<~Hash>:
-
‘AutoScalingGroupNames’<~String> - The name of the Auto Scaling group.
-
‘MaxRecords’<~Integer> - The maximum number of records to return.
-
‘NextToken’<~String> - A string that is used to mark the start of the next batch of returned results for pagination.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeNotificationConfigurationsResult’<~Hash>:
-
‘NotificationConfigurations’<~Array>:
-
notificationConfiguration<~Hash>:
-
‘AutoScalingGroupName’<~String> - Specifies the Auto Scaling group name.
-
‘NotificationType’<~String> - The types of events for an action to start.
-
-
‘TopicARN’<~String> - The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.
-
-
-
-
See Also
36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/aws/requests/auto_scaling/describe_notification_configurations.rb', line 36 def describe_notification_configurations( = {}) if auto_scaling_group_names = .delete('AutoScalingGroupNames') .merge!(AWS.indexed_param('AutoScalingGroupNames.member.%d', [*auto_scaling_group_names])) end request({ 'Action' => 'DescribeNotificationConfigurations', :parser => Fog::Parsers::AWS::AutoScaling::DescribeNotificationConfigurations.new }.merge!()) end |
#describe_policies(options = {}) ⇒ Object
Returns descriptions of what each policy does. This action supports pagination. If the response includes a token, there are more records available. To get the additional records, repeat the request with the response token as the NextToken parameter.
Parameters
-
options<~Hash>:
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group.
-
‘MaxRecords’<~Integer> - The maximum number of policies that will be described with each call.
-
‘NextToken’<~String> - The token returned by a previous call to indicate that there is more data available.
-
PolicyNames<~Array> - A list of policy names or policy ARNs to be described. If this list is omitted, all policy names are described. If an auto scaling group name is provided, the results are limited to that group.The list of requested policy names cannot contain more than 50 items. If unknown policy names are requested, they are ignored with no error.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribePoliciesResult’<~Hash>:
-
‘ScalingPolicies’<~Array>:
-
‘AdjustmentType’<~String> - Specifies whether the adjustment is an absolute number or a percentage of the current capacity.
-
‘Alarms’<~Array>:
-
‘AlarmARN’<~String> - The Amazon Resource Name (ARN) of the alarm.
-
‘AlarmName’<~String> - The name of the alarm.
-
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group associated with this scaling policy.
-
‘Cooldown’<~Integer> - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
-
‘PolicyARN’<~String> - The Amazon Resource Name (ARN) of the policy.
-
‘PolicyName’<~String> - The name of the scaling policy.
-
‘ScalingAdjustment’<~Integer> - The number associated with the specified AdjustmentType. A positive value adds to the current capacity and a negative value removes from the current capacity.
-
-
‘NextToken’<~String> - Acts as a paging mechanism for large result sets. Set to a non-empty string if there are additional results waiting to be returned. Pass this in to subsequent calls to return additional results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribePolicies.html
61 62 63 64 65 66 67 68 69 |
# File 'lib/fog/aws/requests/auto_scaling/describe_policies.rb', line 61 def describe_policies( = {}) if policy_names = .delete('PolicyNames') .merge!(AWS.indexed_param('PolicyNames.member.%d', [*policy_names])) end request({ 'Action' => 'DescribePolicies', :parser => Fog::Parsers::AWS::AutoScaling::DescribePolicies.new }.merge!()) end |
#describe_scaling_activities(options = {}) ⇒ Object
Returns the scaling activities for the specified Auto Scaling group.
If the specified activity_ids list is empty, all the activities from the past six weeks are returned. Activities are sorted by completion time. Activities still in progress appear first on the list.
This action supports pagination. If the response includes a token, there are more records available. To get the additional records, repeat the request with the response token as the NextToken parameter.
Parameters
-
options<~Hash>:
-
‘ActivityIds’<~Array> - A list containing the activity IDs of the desired scaling activities. If this list is omitted, all activities are described. If an AutoScalingGroupName is provided, the results are limited to that group. The list of requested activities cannot contain more than 50 items. If unknown activities are requested, they are ignored with no error.
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group.
-
‘MaxRecords’<~Integer> - The maximum number of scaling activities to return.
-
‘NextToken’<~String> - The token returned by a previous call to indicate that there is more data available.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeScalingActivitiesResponse’<~Hash>:
-
‘Activities’<~Array>:
-
‘ActivityId’<~String> - Specifies the ID of the activity.
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group.
-
‘Cause’<~String> - Contains the reason the activity was begun.
-
‘Description’<~String> - Contains a friendly, more verbose description of the scaling activity.
-
‘EndTime’<~Time> - Provides the end time of this activity.
-
‘Progress’<~Integer> - Specifies a value between 0 and 100 that indicates the progress of the activity.
-
‘StartTime’<~Time> - Provides the start time of this activity.
-
‘StatusCode’<~String> - Contains the current status of the activity.
-
‘StatusMessage’<~String> - Contains a friendly, more verbose description of the activity status.
-
-
‘NextToken’<~String> - Acts as a paging mechanism for large result sets. Set to a non-empty string if there are additional results waiting to be returned. Pass this in to subsequent calls to return additional results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScalingActivities.html
64 65 66 67 68 69 70 71 72 |
# File 'lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb', line 64 def describe_scaling_activities( = {}) if activity_ids = .delete('ActivityIds') .merge!(AWS.indexed_param('ActivityIds.member.%d', [*activity_ids])) end request({ 'Action' => 'DescribeScalingActivities', :parser => Fog::Parsers::AWS::AutoScaling::DescribeScalingActivities.new }.merge!()) end |
#describe_scaling_process_types ⇒ Object
Returns scaling process types for use in the resume_processes and suspend_processes actions.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeScalingProcessTypesResult’<~Hash>:
-
‘Processes’<~Array>:
-
processtype<~Hash>:
-
‘ProcessName’<~String> - The name of a process.
-
-
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScalingProcessTypes.html
23 24 25 26 27 28 29 |
# File 'lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb', line 23 def describe_scaling_process_types() request({ 'Action' => 'DescribeScalingProcessTypes', :idempotent => true, :parser => Fog::Parsers::AWS::AutoScaling::DescribeScalingProcessTypes.new }) end |
#describe_scheduled_actions(options = {}) ⇒ Object
List all the actions scheduled for your Auto Scaling group that haven’t been executed. To see a list of action already executed, see the activity record returned in describe_scaling_activities.
Parameters
-
options<~Hash>:
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group.
-
‘EndTime’<~Time> - The latest scheduled start time to return. If scheduled action names are provided, this field will be ignored.
-
‘MaxRecords’<~Integer> - The maximum number of scheduled actions to return.
-
‘NextToken’<~String> - The token returned by a previous call to indicate that there is more data available.
-
‘ScheduledActionNames’<~Array> - A list of scheduled actions to be described. If this list is omitted, all scheduled actions are described. The list of requested scheduled actions cannot contain more than 50 items. If an auto scaling group name is provided, the results are limited to that group. If unknown scheduled actions are requested, they are ignored with no error.
-
‘StartTime’<~Time> - The earliest scheduled start time to return. If scheduled action names are provided, this field will be ignored.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeScheduledActionsResponse’<~Hash>:
-
‘ScheduledUpdateGroupActions’<~Array>:
-
scheduledupdatesroupAction<~Hash>:
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group to be updated.
-
-
‘DesiredCapacity’<~Integer> -The number of instances you prefer to maintain in your Auto Scaling group.
-
‘EndTime’<~Time> - The time for this action to end.
-
‘MaxSize’<~Integer> - The maximum size of the Auto Scaling group.
-
‘MinSize’<~Integer> - The minimum size of the Auto Scaling group.
-
‘Recurrence’<~String> - The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
-
‘ScheduledActionARN’<~String> - The Amazon Resource Name (ARN) of this scheduled action.
-
‘StartTime’<~Time> - The time for this action to start.
-
‘Time’<~Time> - The time that the action is scheduled to occur. This value can be up to one month in the future.
-
-
‘NextToken’<~String> - Acts as a paging mechanism for large result sets. Set to a non-empty string if there are additional results waiting to be returned. Pass this in to subsequent calls to return additional results.
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScheduledActions.html
64 65 66 67 68 69 70 71 72 |
# File 'lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb', line 64 def describe_scheduled_actions( = {}) if scheduled_action_names = .delete('ScheduledActionNames') .merge!(AWS.indexed_param('ScheduledActionNames.member.%d', [*scheduled_action_names])) end request({ 'Action' => 'DescribeScheduledActions', :parser => Fog::Parsers::AWS::AutoScaling::DescribeScheduledActions.new }.merge!()) end |
#describe_tags(options = {}) ⇒ Object
Lists the Auto Scaling group tags.
Parameters
-
options<~Hash>:
-
tag<~Hash>:
-
Key<~String> - The key of the tag.
-
PropagateAtLaunch<~Boolean> - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, changed tag will be applied to all instances launched after you made the change.
-
ResourceId<~String> - The name of the Auto Scaling group.
-
ResourceType<~String> - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type.
-
Value<~String> - The value of the tag.
-
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeTagsResult’<~Hash>:
-
‘NextToken’<~String> - A string used to mark the start of the next batch of returned results.
-
‘Tags’<~Hash>:
-
tagDescription<~Hash>:
-
‘Key’<~String> - The key of the tag.
-
‘PropagateAtLaunch’<~Boolean> - Specifies whether the new tag will be applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, the changed tag will be applied to all instances launched after you made the change.
-
‘ResourceId’<~String> - The name of the Auto Scaling group.
-
‘ResourceType’<~String> - The kind of resource to which the tag is applied. Currently, Auto Scaling supports the auto-scaling-group resource type.
-
‘Value’<~String> - The value of the tag.
-
-
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeTags.html
50 51 52 53 54 55 56 57 58 |
# File 'lib/fog/aws/requests/auto_scaling/describe_tags.rb', line 50 def (={}) if filters = .delete('Filters') .merge!(Fog::AWS.indexed_filters(filters)) end request({ 'Action' => 'DescribeTags', :parser => Fog::Parsers::AWS::AutoScaling::DescribeTags.new }.merge!()) end |
#describe_termination_policy_types ⇒ Object
Returns a list of all termination policies supported by Auto Scaling.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘DescribeTerminationPolicyTypesResult’<~Hash>:
-
‘TerminationPolicyTypes’<~Array>:
-
terminationtype<~String>:
-
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeTerminationPolicyTypes.html
21 22 23 24 25 26 27 |
# File 'lib/fog/aws/requests/auto_scaling/describe_termination_policy_types.rb', line 21 def describe_termination_policy_types() request({ 'Action' => 'DescribeTerminationPolicyTypes', :idempotent => true, :parser => Fog::Parsers::AWS::AutoScaling::DescribeTerminationPolicyTypes.new }) end |
#detach_instances(auto_scaling_group_name, options = {}) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/fog/aws/requests/auto_scaling/detach_instances.rb', line 26 def detach_instances(auto_scaling_group_name, = {}) if should_decrement_desired_capacity = .delete('ShouldDecrementDesiredCapacity') .merge!('ShouldDecrementDesiredCapacity' => true.to_s) else .merge!('ShouldDecrementDesiredCapacity' => false.to_s) end if instance_ids = .delete('InstanceIds') .merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids])) end request({ 'Action' => 'DetachInstances', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#detach_load_balancer_target_groups(auto_scaling_group_name, options = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/aws/requests/auto_scaling/detach_load_balancer_target_groups.rb', line 22 def detach_load_balancer_target_groups(auto_scaling_group_name, = {}) if target_group_arns = .delete('TargetGroupARNs') .merge!(AWS.indexed_param('TargetGroupARNs.member.%d', *target_group_arns)) end request({ 'Action' => 'DetachLoadBalancerTargetGroups', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#detach_load_balancers(auto_scaling_group_name, options = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fog/aws/requests/auto_scaling/detach_load_balancers.rb', line 27 def detach_load_balancers(auto_scaling_group_name, = {}) if load_balancer_names = .delete('LoadBalancerNames') .merge!(AWS.indexed_param('LoadBalancerNames.member.%d', [*load_balancer_names])) end request({ 'Action' => 'DetachLoadBalancers', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#disable_metrics_collection(auto_scaling_group_name, options = {}) ⇒ Object
Disables monitoring of group metrics for the Auto Scaling group specified in AutoScalingGroupName. You can specify the list of affected metrics with the Metrics parameter.
Parameters
-
‘AutoScalingGroupName’<~String> - The name or ARN of the Auto Scaling group.
-
options<~Hash>:
-
Metrics<~Array> - The list of metrics to disable. If no metrics are specified, all metrics are disabled.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DisableMetricsCollection.html
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb', line 27 def disable_metrics_collection(auto_scaling_group_name, = {}) if metrics = .delete('Metrics') .merge!(AWS.indexed_param('Metrics.member.%d', [*metrics])) end request({ 'Action' => 'DisableMetricsCollection', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#enable_metrics_collection(auto_scaling_group_name, granularity, options = {}) ⇒ Object
Enables monitoring of group metrics for the Auto Scaling group specified in auto_scaling_group_name. You can specify the list of enabled metrics with the metrics parameter.
Auto scaling metrics collection can be turned on only if the instance_monitoring.enabled flag, in the Auto Scaling group’s launch configuration, is set to true.
Parameters
-
‘AutoScalingGroupName’<~String>: The name or ARN of the Auto Scaling group
-
options<~Hash>:
-
Granularity<~String>: The granularity to associate with the metrics to collect.
-
Metrics<~Array>: The list of metrics to collect. If no metrics are specified, all metrics are enabled.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_EnableMetricsCollection.html
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb', line 33 def enable_metrics_collection(auto_scaling_group_name, granularity, = {}) if metrics = .delete('Metrics') .merge!(AWS.indexed_param('Metrics.member.%d', [*metrics])) end request({ 'Action' => 'EnableMetricsCollection', 'AutoScalingGroupName' => auto_scaling_group_name, 'Granularity' => granularity, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#execute_policy(policy_name, options = {}) ⇒ Object
Runs the policy you create for your Auto Scaling group in put_scaling_policy.
Parameters
-
‘PolicyName’<~String> - The name or PolicyARN of the policy you want to run.
-
options<~Hash>:
-
‘AutoScalingGroupName’<~String> - The name or ARN of the Auto Scaling group.
-
‘HonorCooldown’<~Boolean> - Set to true if you want Auto Scaling to reject this request if the Auto Scaling group is in cooldown.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_ExecutePolicy.html
28 29 30 31 32 33 34 |
# File 'lib/fog/aws/requests/auto_scaling/execute_policy.rb', line 28 def execute_policy(policy_name, = {}) request({ 'Action' => 'ExecutePolicy', 'PolicyName' => policy_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#put_notification_configuration(auto_scaling_group_name, notification_types, topic_arn) ⇒ Object
Creates a notification configuration for an Auto Scaling group. To update an existing policy, overwrite the existing notification configuration name and set the parameter(s) you want to change.
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
notification_types<~Array> - The type of events that will trigger the notification.
-
topic_arn<~String> - The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutNotificationConfiguration.html
27 28 29 30 31 32 33 34 35 |
# File 'lib/fog/aws/requests/auto_scaling/put_notification_configuration.rb', line 27 def put_notification_configuration(auto_scaling_group_name, notification_types, topic_arn) params = AWS.indexed_param('NotificationTypes.member.%d', [*notification_types]) request({ 'Action' => 'PutNotificationConfiguration', 'AutoScalingGroupName' => auto_scaling_group_name, 'TopicARN' => topic_arn, :parser => Fog::Parsers::AWS::AutoScaling::PutNotificationConfiguration.new }.merge!(params)) end |
#put_scaling_policy(adjustment_type, auto_scaling_group_name, policy_name, scaling_adjustment, options = {}) ⇒ Object
Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameter(s) you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.
Parameters
-
adjustment_type<~String> - Specifies whether the scaling_adjustment is an absolute number or a percentage of the current capacity.
-
auto_scaling_group_name<~String> - The name or ARN of the Auto Scaling group.
-
policy_name<~String> - The name of the policy you want to create or update.
-
scaling_adjustment<~Integer> - The number of instances by which to scale. AdjustmentType determines the interpretation of this number (e.g., as an absolute number or as a percentage of the existing Auto Scaling group size). A positive increment adds to the current capacity and a negative value removes from the current capacity.
-
options<~Hash>:
-
‘Cooldown’<~Integer> - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘PutScalingPolicyResult’<~Hash>:
-
‘PolicyARN’<~String> - A policy’s Amazon Resource Name (ARN).
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScalingPolicy.html
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb', line 41 def put_scaling_policy(adjustment_type, auto_scaling_group_name, policy_name, scaling_adjustment, = {}) request({ 'Action' => 'PutScalingPolicy', 'AdjustmentType' => adjustment_type, 'AutoScalingGroupName' => auto_scaling_group_name, 'PolicyName' => policy_name, 'ScalingAdjustment' => scaling_adjustment, :parser => Fog::Parsers::AWS::AutoScaling::PutScalingPolicy.new }.merge!()) end |
#put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time = nil, options = {}) ⇒ Object
Creates a scheduled scaling action for a Auto Scaling group. If you leave a parameter unspecified, the corresponding value remains unchanged in the affected Auto Scaling group.
Parameters
-
auto_scaling_group_name<~String> - The name or ARN of the Auto Scaling Group.
-
scheduled_action_name<~String> - Name of this scaling action.
-
time<~Datetime> - The time for this action to start (deprecated: use StartTime, EndTime and Recurrence).
-
options<~Hash>:
-
‘DesiredCapacity’<~Integer> - The number of EC2 instances that should be running in this group.
-
‘EndTime’<~DateTime> - The time for this action to end.
-
‘MaxSize’<~Integer> - The maximum size for the Auto Scaling group.
-
‘MinSize’<~Integer> - The minimum size for the Auto Scaling group.
-
‘Recurrence’<~String> - The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format. When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action will start and stop.
-
‘StartTime’<~DateTime> - The time for this action to start
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb', line 41 def put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time=nil, = {}) # The 'Time' parameter is now an alias for StartTime and needs to be identical if specified. time = ['StartTime'].nil? ? time : ['StartTime'] if !time.nil? time = time.class == Time ? time.utc.iso8601 : Time.parse(time).utc.iso8601 end request({ 'Action' => 'PutScheduledUpdateGroupAction', 'AutoScalingGroupName' => auto_scaling_group_name, 'ScheduledActionName' => scheduled_action_name, 'Time' => time, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#reload ⇒ Object
114 115 116 |
# File 'lib/fog/aws/auto_scaling.rb', line 114 def reload @connection.reset end |
#resume_processes(auto_scaling_group_name, options = {}) ⇒ Object
Resumes Auto Scaling processes for an Auto Scaling group.
Parameters
-
auto_scaling_group_name’<~String> - The name or Amazon Resource Name (ARN) of the Auto Scaling group.
-
options<~Hash>:
-
‘ScalingProcesses’<~Array> - The processes that you want to resume. To resume all process types, omit this parameter.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_ResumeProcesses.html
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/aws/requests/auto_scaling/resume_processes.rb', line 25 def resume_processes(auto_scaling_group_name, = {}) if scaling_processes = .delete('ScalingProcesses') .merge!(AWS.indexed_param('ScalingProcesses.member.%d', [*scaling_processes])) end request({ 'Action' => 'ResumeProcesses', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#set_desired_capacity(auto_scaling_group_name, desired_capacity, options = {}) ⇒ Object
Adjusts the desired size of the AutoScalingGroup by initiating scaling activities. When reducing the size of the group, it is not possible to define which EC2 instances will be terminated. This applies to any auto-scaling decisions that might result in terminating instances.
There are two common use cases for set_desired_capacity: one for users of the Auto Scaling triggering system, and another for developers who write their own triggering systems. Both use cases relate to the concept of cooldown.
In the first case, if you use the Auto Scaling triggering system, set_desired_capacity changes the size of your Auto Scaling group without regard to the cooldown period. This could be useful, for example, if Auto Scaling did something unexpected for some reason. If your cooldown period is 10 minutes, Auto Scaling would normally reject requests to change the size of the group for that entire 10 minute period. The set_desired_capacity command allows you to circumvent this restriction and change the size of the group before the end of the cooldown period.
In the second case, if you write your own triggering system, you can use set_desired_capacity to control the size of your Auto Scaling group. If you want the same cooldown functionality that Auto Scaling offers, you can configure set_desired_capacity to honor cooldown by setting the HonorCooldown parameter to true.
Parameters
-
auto_scaling_group_name<~String> - The name of the Auto Scaling group.
-
desired_capacity<~Integer> - The new capacity setting for the Auto Scaling group.
-
options<~Hash>:
-
‘HonorCooldown’<~Boolean> - By default, set_desired_capacity overrides any cooldown period. Set to true if you want Auto Scaling to reject this request if the Auto Scaling group is in cooldown.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_SetDesiredCapacity.html
54 55 56 57 58 59 60 61 |
# File 'lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb', line 54 def set_desired_capacity(auto_scaling_group_name, desired_capacity, = {}) request({ 'Action' => 'SetDesiredCapacity', 'AutoScalingGroupName' => auto_scaling_group_name, 'DesiredCapacity' => desired_capacity, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#set_instance_health(health_status, instance_id, options = {}) ⇒ Object
Sets the health status of an instance.
Parameters
-
health_status<~String> - The health status of the instance. “Healthy” means that the instance is healthy and should remain in service. “Unhealthy” means that the instance is unhealthy. Auto Scaling should terminate and replace it.
-
instance_id<~String> - The identifier of the EC2 instance.
-
options<~Hash>:
-
‘ShouldRespectGracePeriod’<~Boolean> - If true, this call should
respect the grace period associated with the group.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_SetInstanceHealth.html
28 29 30 31 32 33 34 35 |
# File 'lib/fog/aws/requests/auto_scaling/set_instance_health.rb', line 28 def set_instance_health(health_status, instance_id, = {}) request({ 'Action' => 'SetInstanceHealth', 'HealthStatus' => health_status, 'InstanceId' => instance_id, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#set_instance_protection(auto_scaling_group_name, options = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/fog/aws/requests/auto_scaling/set_instance_protection.rb', line 27 def set_instance_protection(auto_scaling_group_name, = {}) if instance_ids = .delete('InstanceIds') .merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids])) end protected_from_scale_in = .delete('ProtectedFromScaleIn') request({ 'Action' => 'SetInstanceProtection', 'AutoScalingGroupName' => auto_scaling_group_name, 'ProtectedFromScaleIn' => protected_from_scale_in, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#suspend_processes(auto_scaling_group_name, options = {}) ⇒ Object
Suspends Auto Scaling processes for an Auto Scaling group. To suspend specific process types, specify them by name with the ScalingProcesses parameter. To suspend all process types, omit the ScalingProcesses.member.N parameter.
Parameters
-
‘AutoScalingGroupName’<~String> - The name or Amazon Resource Name (ARN) of the Auto Scaling group.
-
options<~Hash>:
-
‘ScalingProcesses’<~Array> - The processes that you want to suspend. To suspend all process types, omit this parameter.
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
-
See Also
docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_SuspendProcesses.html
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fog/aws/requests/auto_scaling/suspend_processes.rb', line 28 def suspend_processes(auto_scaling_group_name, = {}) if scaling_processes = .delete('ScalingProcesses') .merge!(AWS.indexed_param('ScalingProcesses.member.%d', [*scaling_processes])) end request({ 'Action' => 'SuspendProcesses', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |
#terminate_instance_in_auto_scaling_group(instance_id, should_decrement_desired_capacity) ⇒ Object
Terminates the specified instance. Optionally, the desired group size can be adjusted.
Parameters
-
instance_id<~String> - The ID of the EC2 instance to be terminated.
-
should_decrement_desired_capacity<~Boolean> - Specifies whether (true) or not (false) terminating this instance should also decrement the size of the AutoScalingGroup.
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘ResponseMetadata’<~Hash>:
-
‘RequestId’<~String> - Id of request
-
-
‘TerminateGroupInAutoScalingInstanceResult’<~Hash>:
-
‘ActivityId’<~String> - Specifies the ID of the activity.
-
‘AutoScalingGroupName’<~String> - The name of the Auto Scaling group.
-
‘Cause’<~String> - Contains the reason the activity was begun.
-
‘Description’<~String> - Contains a friendly, more verbose description of the scaling activity.
-
‘EndTime’<~Time> - Provides the end time of this activity.
-
‘Progress’<~Integer> - Specifies a value between 0 and 100 that indicates the progress of the activity.
-
‘StartTime’<~Time> - Provides the start time of this activity.
-
‘StatusCode’<~String> - Contains the current status of the activity.
-
‘StatusMessage’<~String> - Contains a friendly, more verbose description of the activity status.
-
-
-
See Also
42 43 44 45 46 47 48 49 |
# File 'lib/fog/aws/requests/auto_scaling/terminate_instance_in_auto_scaling_group.rb', line 42 def terminate_instance_in_auto_scaling_group(instance_id, should_decrement_desired_capacity) request({ 'Action' => 'TerminateInstanceInAutoScalingGroup', 'InstanceId' => instance_id, 'ShouldDecrementDesiredCapacity' => should_decrement_desired_capacity.to_s, :parser => Fog::Parsers::AWS::AutoScaling::TerminateInstanceInAutoScalingGroup.new }) end |
#update_auto_scaling_group(auto_scaling_group_name, options = {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb', line 56 def update_auto_scaling_group(auto_scaling_group_name, = {}) if availability_zones = .delete('AvailabilityZones') .merge!(AWS.indexed_param('AvailabilityZones.member.%d', [*availability_zones])) end if termination_policies = .delete('TerminationPolicies') .merge!(AWS.indexed_param('TerminationPolicies.member.%d', [*termination_policies])) end request({ 'Action' => 'UpdateAutoScalingGroup', 'AutoScalingGroupName' => auto_scaling_group_name, :parser => Fog::Parsers::AWS::AutoScaling::Basic.new }.merge!()) end |