diff --git a/CHANGELOG.md b/CHANGELOG.md index b97014dedd..a36b27ccdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ Next Release: ------------- * Added support for configurable idle timeouts to the Elastic Load Balancing client. +* Added support for Lifecycle Hooks, Detach Instances, and Standby to the + AutoScaling client. 2.6.12 (2014-07-16) ------------------- diff --git a/src/Aws/AutoScaling/AutoScalingClient.php b/src/Aws/AutoScaling/AutoScalingClient.php index e387976310..14721aaf3b 100644 --- a/src/Aws/AutoScaling/AutoScalingClient.php +++ b/src/Aws/AutoScaling/AutoScalingClient.php @@ -27,11 +27,13 @@ * Client to interact with Auto Scaling * * @method Model attachInstances(array $args = array()) {@command AutoScaling AttachInstances} + * @method Model completeLifecycleAction(array $args = array()) {@command AutoScaling CompleteLifecycleAction} * @method Model createAutoScalingGroup(array $args = array()) {@command AutoScaling CreateAutoScalingGroup} * @method Model createLaunchConfiguration(array $args = array()) {@command AutoScaling CreateLaunchConfiguration} * @method Model createOrUpdateTags(array $args = array()) {@command AutoScaling CreateOrUpdateTags} * @method Model deleteAutoScalingGroup(array $args = array()) {@command AutoScaling DeleteAutoScalingGroup} * @method Model deleteLaunchConfiguration(array $args = array()) {@command AutoScaling DeleteLaunchConfiguration} + * @method Model deleteLifecycleHook(array $args = array()) {@command AutoScaling DeleteLifecycleHook} * @method Model deleteNotificationConfiguration(array $args = array()) {@command AutoScaling DeleteNotificationConfiguration} * @method Model deletePolicy(array $args = array()) {@command AutoScaling DeletePolicy} * @method Model deleteScheduledAction(array $args = array()) {@command AutoScaling DeleteScheduledAction} @@ -42,6 +44,8 @@ * @method Model describeAutoScalingInstances(array $args = array()) {@command AutoScaling DescribeAutoScalingInstances} * @method Model describeAutoScalingNotificationTypes(array $args = array()) {@command AutoScaling DescribeAutoScalingNotificationTypes} * @method Model describeLaunchConfigurations(array $args = array()) {@command AutoScaling DescribeLaunchConfigurations} + * @method Model describeLifecycleHookTypes(array $args = array()) {@command AutoScaling DescribeLifecycleHookTypes} + * @method Model describeLifecycleHooks(array $args = array()) {@command AutoScaling DescribeLifecycleHooks} * @method Model describeMetricCollectionTypes(array $args = array()) {@command AutoScaling DescribeMetricCollectionTypes} * @method Model describeNotificationConfigurations(array $args = array()) {@command AutoScaling DescribeNotificationConfigurations} * @method Model describePolicies(array $args = array()) {@command AutoScaling DescribePolicies} @@ -50,12 +54,17 @@ * @method Model describeScheduledActions(array $args = array()) {@command AutoScaling DescribeScheduledActions} * @method Model describeTags(array $args = array()) {@command AutoScaling DescribeTags} * @method Model describeTerminationPolicyTypes(array $args = array()) {@command AutoScaling DescribeTerminationPolicyTypes} + * @method Model detachInstances(array $args = array()) {@command AutoScaling DetachInstances} * @method Model disableMetricsCollection(array $args = array()) {@command AutoScaling DisableMetricsCollection} * @method Model enableMetricsCollection(array $args = array()) {@command AutoScaling EnableMetricsCollection} + * @method Model enterStandby(array $args = array()) {@command AutoScaling EnterStandby} * @method Model executePolicy(array $args = array()) {@command AutoScaling ExecutePolicy} + * @method Model exitStandby(array $args = array()) {@command AutoScaling ExitStandby} + * @method Model putLifecycleHook(array $args = array()) {@command AutoScaling PutLifecycleHook} * @method Model putNotificationConfiguration(array $args = array()) {@command AutoScaling PutNotificationConfiguration} * @method Model putScalingPolicy(array $args = array()) {@command AutoScaling PutScalingPolicy} * @method Model putScheduledUpdateGroupAction(array $args = array()) {@command AutoScaling PutScheduledUpdateGroupAction} + * @method Model recordLifecycleActionHeartbeat(array $args = array()) {@command AutoScaling RecordLifecycleActionHeartbeat} * @method Model resumeProcesses(array $args = array()) {@command AutoScaling ResumeProcesses} * @method Model setDesiredCapacity(array $args = array()) {@command AutoScaling SetDesiredCapacity} * @method Model setInstanceHealth(array $args = array()) {@command AutoScaling SetInstanceHealth} diff --git a/src/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php b/src/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php index 8dbc98fcda..a6408c7d68 100644 --- a/src/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php +++ b/src/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php @@ -112,6 +112,51 @@ ), ), ), + 'CompleteLifecycleAction' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'EmptyOutput', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'CompleteLifecycleAction', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'LifecycleHookName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 255, + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'LifecycleActionToken' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 36, + 'maxLength' => 36, + ), + 'LifecycleActionResult' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + ), + ), + ), 'CreateAutoScalingGroup' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -578,6 +623,39 @@ ), ), ), + 'DeleteLifecycleHook' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'EmptyOutput', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'DeleteLifecycleHook', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'LifecycleHookName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 255, + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + ), + ), 'DeleteNotificationConfiguration' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -915,6 +993,62 @@ ), ), ), + 'DescribeLifecycleHookTypes' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'DescribeLifecycleHookTypesAnswer', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'DescribeLifecycleHookTypes', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + ), + ), + 'DescribeLifecycleHooks' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'DescribeLifecycleHooksAnswer', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'DescribeLifecycleHooks', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'LifecycleHookNames' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'LifecycleHookNames.member', + 'items' => array( + 'name' => 'AsciiStringMaxLen255', + 'type' => 'string', + 'minLength' => 1, + 'maxLength' => 255, + ), + ), + ), + ), 'DescribeMetricCollectionTypes' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -1237,6 +1371,49 @@ ), ), ), + 'DetachInstances' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'DetachInstancesAnswer', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'DetachInstances', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'InstanceIds' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'InstanceIds.member', + 'items' => array( + 'name' => 'XmlStringMaxLen16', + 'type' => 'string', + 'minLength' => 1, + 'maxLength' => 16, + ), + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'ShouldDecrementDesiredCapacity' => array( + 'required' => true, + 'type' => 'boolean', + 'format' => 'boolean-string', + 'location' => 'aws.query', + ), + ), + ), 'DisableMetricsCollection' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -1318,6 +1495,49 @@ ), ), ), + 'EnterStandby' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'EnterStandbyAnswer', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'EnterStandby', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'InstanceIds' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'InstanceIds.member', + 'items' => array( + 'name' => 'XmlStringMaxLen16', + 'type' => 'string', + 'minLength' => 1, + 'maxLength' => 16, + ), + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'ShouldDecrementDesiredCapacity' => array( + 'required' => true, + 'type' => 'boolean', + 'format' => 'boolean-string', + 'location' => 'aws.query', + ), + ), + ), 'ExecutePolicy' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -1361,6 +1581,112 @@ ), ), ), + 'ExitStandby' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'ExitStandbyAnswer', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'ExitStandby', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'InstanceIds' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'InstanceIds.member', + 'items' => array( + 'name' => 'XmlStringMaxLen16', + 'type' => 'string', + 'minLength' => 1, + 'maxLength' => 16, + ), + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + ), + ), + 'PutLifecycleHook' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'EmptyOutput', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'PutLifecycleHook', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'LifecycleHookName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 255, + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'LifecycleTransition' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), + 'RoleARN' => array( + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'NotificationTargetARN' => array( + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'NotificationMetadata' => array( + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1023, + ), + 'HeartbeatTimeout' => array( + 'type' => 'numeric', + 'location' => 'aws.query', + ), + 'DefaultResult' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), + ), + 'errorResponses' => array( + array( + 'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.', + 'class' => 'LimitExceededException', + ), + ), + ), 'PutNotificationConfiguration' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -1559,6 +1885,46 @@ ), ), ), + 'RecordLifecycleActionHeartbeat' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'EmptyOutput', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'RecordLifecycleActionHeartbeat', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2011-01-01', + ), + 'LifecycleHookName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 255, + ), + 'AutoScalingGroupName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 1, + 'maxLength' => 1600, + ), + 'LifecycleActionToken' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + 'minLength' => 36, + 'maxLength' => 36, + ), + ), + ), 'ResumeProcesses' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -2228,6 +2594,65 @@ ), ), ), + 'DescribeLifecycleHookTypesAnswer' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'LifecycleHookTypes' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'XmlStringMaxLen255', + 'type' => 'string', + 'sentAs' => 'member', + ), + ), + ), + ), + 'DescribeLifecycleHooksAnswer' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'LifecycleHooks' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'LifecycleHook', + 'type' => 'object', + 'sentAs' => 'member', + 'properties' => array( + 'LifecycleHookName' => array( + 'type' => 'string', + ), + 'AutoScalingGroupName' => array( + 'type' => 'string', + ), + 'LifecycleTransition' => array( + 'type' => 'string', + ), + 'NotificationTargetARN' => array( + 'type' => 'string', + ), + 'RoleARN' => array( + 'type' => 'string', + ), + 'NotificationMetadata' => array( + 'type' => 'string', + ), + 'HeartbeatTimeout' => array( + 'type' => 'numeric', + ), + 'GlobalTimeout' => array( + 'type' => 'numeric', + ), + 'DefaultResult' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), 'DescribeMetricCollectionTypesAnswer' => array( 'type' => 'object', 'additionalProperties' => true, @@ -2523,6 +2948,147 @@ ), ), ), + 'DetachInstancesAnswer' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'Activities' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'Activity', + 'type' => 'object', + 'sentAs' => 'member', + 'properties' => array( + 'ActivityId' => array( + 'type' => 'string', + ), + 'AutoScalingGroupName' => array( + 'type' => 'string', + ), + 'Description' => array( + 'type' => 'string', + ), + 'Cause' => array( + 'type' => 'string', + ), + 'StartTime' => array( + 'type' => 'string', + ), + 'EndTime' => array( + 'type' => 'string', + ), + 'StatusCode' => array( + 'type' => 'string', + ), + 'StatusMessage' => array( + 'type' => 'string', + ), + 'Progress' => array( + 'type' => 'numeric', + ), + 'Details' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), + 'EnterStandbyAnswer' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'Activities' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'Activity', + 'type' => 'object', + 'sentAs' => 'member', + 'properties' => array( + 'ActivityId' => array( + 'type' => 'string', + ), + 'AutoScalingGroupName' => array( + 'type' => 'string', + ), + 'Description' => array( + 'type' => 'string', + ), + 'Cause' => array( + 'type' => 'string', + ), + 'StartTime' => array( + 'type' => 'string', + ), + 'EndTime' => array( + 'type' => 'string', + ), + 'StatusCode' => array( + 'type' => 'string', + ), + 'StatusMessage' => array( + 'type' => 'string', + ), + 'Progress' => array( + 'type' => 'numeric', + ), + 'Details' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), + 'ExitStandbyAnswer' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'Activities' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'Activity', + 'type' => 'object', + 'sentAs' => 'member', + 'properties' => array( + 'ActivityId' => array( + 'type' => 'string', + ), + 'AutoScalingGroupName' => array( + 'type' => 'string', + ), + 'Description' => array( + 'type' => 'string', + ), + 'Cause' => array( + 'type' => 'string', + ), + 'StartTime' => array( + 'type' => 'string', + ), + 'EndTime' => array( + 'type' => 'string', + ), + 'StatusCode' => array( + 'type' => 'string', + ), + 'StatusMessage' => array( + 'type' => 'string', + ), + 'Progress' => array( + 'type' => 'numeric', + ), + 'Details' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), 'PolicyARNType' => array( 'type' => 'object', 'additionalProperties' => true,