# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. module AWS class AutoScaling # Client class for Auto Scaling. class Client < Core::QueryClient # @private CACHEABLE_REQUESTS = Set[ :describe_adjustment_types, :describe_auto_scaling_groups, :describe_auto_scaling_instances, :describe_auto_scaling_notification_types, :describe_launch_configurations, :describe_metric_collection_types, :describe_notification_configurations, :describe_policies, :describe_scaling_activities, :describe_scaling_process_types, :describe_scheduled_actions, :describe_tags, ] # client methods # # @!method create_auto_scaling_group(options = {}) # Calls the CreateAutoScalingGroup API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:launch_configuration_name+ - *required* - (String) # * +:min_size+ - *required* - (Integer) # * +:max_size+ - *required* - (Integer) # * +:desired_capacity+ - (Integer) # * +:default_cooldown+ - (Integer) # * +:availability_zones+ - (Array) # * +:load_balancer_names+ - (Array) # * +:health_check_type+ - (String) # * +:health_check_grace_period+ - (Integer) # * +:placement_group+ - (String) # * +:vpc_zone_identifier+ - (String) # * +:termination_policies+ - (Array) # * +:tags+ - (Array) # * +:resource_id+ - (String) # * +:resource_type+ - (String) # * +:key+ - *required* - (String) # * +:value+ - (String) # * +:propagate_at_launch+ - (Boolean) # @return [Core::Response] # @!method create_launch_configuration(options = {}) # Calls the CreateLaunchConfiguration API operation. # @param [Hash] options # * +:launch_configuration_name+ - *required* - (String) # * +:image_id+ - *required* - (String) # * +:key_name+ - (String) # * +:security_groups+ - (Array) # * +:user_data+ - (String) # * +:instance_type+ - *required* - (String) # * +:kernel_id+ - (String) # * +:ramdisk_id+ - (String) # * +:block_device_mappings+ - (Array) # * +:virtual_name+ - (String) # * +:device_name+ - *required* - (String) # * +:ebs+ - (Hash) # * +:snapshot_id+ - (String) # * +:volume_size+ - (Integer) # * +:instance_monitoring+ - (Hash) # * +:enabled+ - (Boolean) # * +:spot_price+ - (String) # * +:iam_instance_profile+ - (String) # * +:ebs_optimized+ - (Boolean) # @return [Core::Response] # @!method create_or_update_tags(options = {}) # Calls the CreateOrUpdateTags API operation. # @param [Hash] options # * +:tags+ - *required* - (Array) # * +:resource_id+ - (String) # * +:resource_type+ - (String) # * +:key+ - *required* - (String) # * +:value+ - (String) # * +:propagate_at_launch+ - (Boolean) # @return [Core::Response] # @!method delete_auto_scaling_group(options = {}) # Calls the DeleteAutoScalingGroup API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:force_delete+ - (Boolean) # @return [Core::Response] # @!method delete_launch_configuration(options = {}) # Calls the DeleteLaunchConfiguration API operation. # @param [Hash] options # * +:launch_configuration_name+ - *required* - (String) # @return [Core::Response] # @!method delete_notification_configuration(options = {}) # Calls the DeleteNotificationConfiguration API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:topic_arn+ - *required* - (String) # @return [Core::Response] # @!method delete_policy(options = {}) # Calls the DeletePolicy API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - (String) # * +:policy_name+ - *required* - (String) # @return [Core::Response] # @!method delete_scheduled_action(options = {}) # Calls the DeleteScheduledAction API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - (String) # * +:scheduled_action_name+ - *required* - (String) # @return [Core::Response] # @!method delete_tags(options = {}) # Calls the DeleteTags API operation. # @param [Hash] options # * +:tags+ - *required* - (Array) # * +:resource_id+ - (String) # * +:resource_type+ - (String) # * +:key+ - *required* - (String) # * +:value+ - (String) # * +:propagate_at_launch+ - (Boolean) # @return [Core::Response] # @!method describe_adjustment_types(options = {}) # Calls the DescribeAdjustmentTypes API operation. # @param [Hash] options # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:adjustment_types+ - (Array) # * +:adjustment_type+ - (String) # @!method describe_auto_scaling_groups(options = {}) # Calls the DescribeAutoScalingGroups API operation. # @param [Hash] options # * +:auto_scaling_group_names+ - (Array) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:auto_scaling_groups+ - (Array) # * +:auto_scaling_group_name+ - (String) # * +:auto_scaling_group_arn+ - (String) # * +:launch_configuration_name+ - (String) # * +:min_size+ - (Integer) # * +:max_size+ - (Integer) # * +:desired_capacity+ - (Integer) # * +:default_cooldown+ - (Integer) # * +:availability_zones+ - (Array) # * +:load_balancer_names+ - (Array) # * +:health_check_type+ - (String) # * +:health_check_grace_period+ - (Integer) # * +:instances+ - (Array) # * +:instance_id+ - (String) # * +:availability_zone+ - (String) # * +:lifecycle_state+ - (String) # * +:health_status+ - (String) # * +:launch_configuration_name+ - (String) # * +:created_time+ - (Time) # * +:suspended_processes+ - (Array) # * +:process_name+ - (String) # * +:suspension_reason+ - (String) # * +:placement_group+ - (String) # * +:vpc_zone_identifier+ - (String) # * +:enabled_metrics+ - (Array) # * +:metric+ - (String) # * +:granularity+ - (String) # * +:status+ - (String) # * +:tags+ - (Array) # * +:resource_id+ - (String) # * +:resource_type+ - (String) # * +:key+ - (String) # * +:value+ - (String) # * +:propagate_at_launch+ - (Boolean) # * +:termination_policies+ - (Array) # * +:next_token+ - (String) # @!method describe_auto_scaling_instances(options = {}) # Calls the DescribeAutoScalingInstances API operation. # @param [Hash] options # * +:instance_ids+ - (Array) # * +:max_records+ - (Integer) # * +:next_token+ - (String) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:auto_scaling_instances+ - (Array) # * +:instance_id+ - (String) # * +:auto_scaling_group_name+ - (String) # * +:availability_zone+ - (String) # * +:lifecycle_state+ - (String) # * +:health_status+ - (String) # * +:launch_configuration_name+ - (String) # * +:next_token+ - (String) # @!method describe_auto_scaling_notification_types(options = {}) # Calls the DescribeAutoScalingNotificationTypes API operation. # @param [Hash] options # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:auto_scaling_notification_types+ - (Array) # @!method describe_launch_configurations(options = {}) # Calls the DescribeLaunchConfigurations API operation. # @param [Hash] options # * +:launch_configuration_names+ - (Array) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:launch_configurations+ - (Array) # * +:launch_configuration_name+ - (String) # * +:launch_configuration_arn+ - (String) # * +:image_id+ - (String) # * +:key_name+ - (String) # * +:security_groups+ - (Array) # * +:user_data+ - (String) # * +:instance_type+ - (String) # * +:kernel_id+ - (String) # * +:ramdisk_id+ - (String) # * +:block_device_mappings+ - (Array) # * +:virtual_name+ - (String) # * +:device_name+ - (String) # * +:ebs+ - (Hash) # * +:snapshot_id+ - (String) # * +:volume_size+ - (Integer) # * +:instance_monitoring+ - (Hash) # * +:enabled+ - (Boolean) # * +:spot_price+ - (String) # * +:iam_instance_profile+ - (String) # * +:created_time+ - (Time) # * +:ebs_optimized+ - (Boolean) # * +:next_token+ - (String) # @!method describe_metric_collection_types(options = {}) # Calls the DescribeMetricCollectionTypes API operation. # @param [Hash] options # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:metrics+ - (Array) # * +:metric+ - (String) # * +:granularities+ - (Array) # * +:granularity+ - (String) # @!method describe_notification_configurations(options = {}) # Calls the DescribeNotificationConfigurations API operation. # @param [Hash] options # * +:auto_scaling_group_names+ - (Array) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:notification_configurations+ - (Array) # * +:auto_scaling_group_name+ - (String) # * +:topic_arn+ - (String) # * +:notification_type+ - (String) # * +:next_token+ - (String) # @!method describe_policies(options = {}) # Calls the DescribePolicies API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - (String) # * +:policy_names+ - (Array) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:scaling_policies+ - (Array) # * +:auto_scaling_group_name+ - (String) # * +:policy_name+ - (String) # * +:scaling_adjustment+ - (Integer) # * +:adjustment_type+ - (String) # * +:cooldown+ - (Integer) # * +:policy_arn+ - (String) # * +:alarms+ - (Array) # * +:alarm_name+ - (String) # * +:alarm_arn+ - (String) # * +:min_adjustment_step+ - (Integer) # * +:next_token+ - (String) # @!method describe_scaling_activities(options = {}) # Calls the DescribeScalingActivities API operation. # @param [Hash] options # * +:activity_ids+ - (Array) # * +:auto_scaling_group_name+ - (String) # * +:max_records+ - (Integer) # * +:next_token+ - (String) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:activities+ - (Array) # * +:activity_id+ - (String) # * +:auto_scaling_group_name+ - (String) # * +:description+ - (String) # * +:cause+ - (String) # * +:start_time+ - (Time) # * +:end_time+ - (Time) # * +:status_code+ - (String) # * +:status_message+ - (String) # * +:progress+ - (Integer) # * +:details+ - (String) # * +:next_token+ - (String) # @!method describe_scaling_process_types(options = {}) # Calls the DescribeScalingProcessTypes API operation. # @param [Hash] options # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:processes+ - (Array) # * +:process_name+ - (String) # @!method describe_scheduled_actions(options = {}) # Calls the DescribeScheduledActions API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - (String) # * +:scheduled_action_names+ - (Array) # * +:start_time+ - (String) # * +:end_time+ - (String) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:scheduled_update_group_actions+ - (Array) # * +:auto_scaling_group_name+ - (String) # * +:scheduled_action_name+ - (String) # * +:scheduled_action_arn+ - (String) # * +:time+ - (Time) # * +:start_time+ - (Time) # * +:end_time+ - (Time) # * +:recurrence+ - (String) # * +:min_size+ - (Integer) # * +:max_size+ - (Integer) # * +:desired_capacity+ - (Integer) # * +:next_token+ - (String) # @!method describe_tags(options = {}) # Calls the DescribeTags API operation. # @param [Hash] options # * +:filters+ - (Array) # * +:name+ - (String) # * +:values+ - (Array) # * +:next_token+ - (String) # * +:max_records+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:tags+ - (Array) # * +:resource_id+ - (String) # * +:resource_type+ - (String) # * +:key+ - (String) # * +:value+ - (String) # * +:propagate_at_launch+ - (Boolean) # * +:next_token+ - (String) # @!method describe_termination_policy_types(options = {}) # Calls the DescribeTerminationPolicyTypes API operation. # @param [Hash] options # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:termination_policy_types+ - (Array) # @!method disable_metrics_collection(options = {}) # Calls the DisableMetricsCollection API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:metrics+ - (Array) # @return [Core::Response] # @!method enable_metrics_collection(options = {}) # Calls the EnableMetricsCollection API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:metrics+ - (Array) # * +:granularity+ - *required* - (String) # @return [Core::Response] # @!method execute_policy(options = {}) # Calls the ExecutePolicy API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - (String) # * +:policy_name+ - *required* - (String) # * +:honor_cooldown+ - (Boolean) # @return [Core::Response] # @!method put_notification_configuration(options = {}) # Calls the PutNotificationConfiguration API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:topic_arn+ - *required* - (String) # * +:notification_types+ - *required* - (Array) # @return [Core::Response] # @!method put_scaling_policy(options = {}) # Calls the PutScalingPolicy API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:policy_name+ - *required* - (String) # * +:scaling_adjustment+ - *required* - (Integer) # * +:adjustment_type+ - *required* - (String) # * +:cooldown+ - (Integer) # * +:min_adjustment_step+ - (Integer) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:policy_arn+ - (String) # @!method put_scheduled_update_group_action(options = {}) # Calls the PutScheduledUpdateGroupAction API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:scheduled_action_name+ - *required* - (String) # * +:time+ - (String) # * +:start_time+ - (String) # * +:end_time+ - (String) # * +:recurrence+ - (String) # * +:min_size+ - (Integer) # * +:max_size+ - (Integer) # * +:desired_capacity+ - (Integer) # @return [Core::Response] # @!method resume_processes(options = {}) # Calls the ResumeProcesses API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:scaling_processes+ - (Array) # @return [Core::Response] # @!method set_desired_capacity(options = {}) # Calls the SetDesiredCapacity API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:desired_capacity+ - *required* - (Integer) # * +:honor_cooldown+ - (Boolean) # @return [Core::Response] # @!method set_instance_health(options = {}) # Calls the SetInstanceHealth API operation. # @param [Hash] options # * +:instance_id+ - *required* - (String) # * +:health_status+ - *required* - (String) # * +:should_respect_grace_period+ - (Boolean) # @return [Core::Response] # @!method suspend_processes(options = {}) # Calls the SuspendProcesses API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:scaling_processes+ - (Array) # @return [Core::Response] # @!method terminate_instance_in_auto_scaling_group(options = {}) # Calls the TerminateInstanceInAutoScalingGroup API operation. # @param [Hash] options # * +:instance_id+ - *required* - (String) # * +:should_decrement_desired_capacity+ - *required* - (Boolean) # @return [Core::Response] # The #data method of the response object returns # a hash with the following structure: # * +:activity+ - (Hash) # * +:activity_id+ - (String) # * +:auto_scaling_group_name+ - (String) # * +:description+ - (String) # * +:cause+ - (String) # * +:start_time+ - (Time) # * +:end_time+ - (Time) # * +:status_code+ - (String) # * +:status_message+ - (String) # * +:progress+ - (Integer) # * +:details+ - (String) # @!method update_auto_scaling_group(options = {}) # Calls the UpdateAutoScalingGroup API operation. # @param [Hash] options # * +:auto_scaling_group_name+ - *required* - (String) # * +:launch_configuration_name+ - (String) # * +:min_size+ - (Integer) # * +:max_size+ - (Integer) # * +:desired_capacity+ - (Integer) # * +:default_cooldown+ - (Integer) # * +:availability_zones+ - (Array) # * +:health_check_type+ - (String) # * +:health_check_grace_period+ - (Integer) # * +:placement_group+ - (String) # * +:vpc_zone_identifier+ - (String) # * +:termination_policies+ - (Array) # @return [Core::Response] # end client methods # define_client_methods('2011-01-01') end end end